`

varnish安装与测试

    博客分类:
  • tech
阅读更多
部分内容转自:http://hi.baidu.com/supermfc/blog/item/21e74638f1f576feb311c71b.html
1、Pcre的安装 (PERL兼容正则表达式库)

wget http://cdnetworks-kr-1.dl.sourceforge.net/project/pcre/pcre/8.02/pcre-8.02.tar.bz2tar zxvf pcre-8.02.tar.gz
cd pcre-8.02
./configure --libdir=/usr/lib
make && make install


如果没有安装Pcre,configure varnish2.0以上版本时候,会提示找不到pcre库

2、varnish 安装
wget http://cdnetworks-kr-2.dl.sourceforge.net/project/varnish/varnish/2.1.3/varnish-2.1.3.tar.gz
tar zxvf varnish-2.1.1
cd varnish-2.1.1
./configure --prefix=/usr/local/varnish
make && make install

3、varnish启动
   usage: varnishd [options]
    -a address:port              # HTTP listen address and port
    -b address:port              # backend address and port
                                 #    -b <hostname_or_IP>
                                 #    -b '<hostname_or_IP>:<port_or_service>'
    -C                           # print VCL code compiled to C language
    -d                           # debug
    -f file                      # VCL script
    -F                           # Run in foreground
    -h kind[,hashoptions]        # Hash specification
                                 #   -h simple_list
                                 #   -h classic  [default]
                                 #   -h classic,<buckets>
    -i identity                  # Identity of varnish instance
    -l bytesize                  # Size of shared memory log
    -M address:port              # CLI-master to connect to.
    -n dir                       # varnishd working directory
    -P file                      # PID file
    -p param=value               # set parameter
    -s kind[,storageoptions]     # Backend storage specification
                                 #   -s malloc
                                 #   -s file  [default: use /tmp]
                                 #   -s file,<dir_or_file>
                                 #   -s file,<dir_or_file>,<size>
                                 #   -s file,<dir_or_file>,<size>,<granularity>
    -t                           # Default TTL
    -S secret-file               # Secret file for CLI authentication
    -T address:port              # Telnet listen address and port
    -V                           # version
    -w int[,int[,int]]           # Number of worker threads
                                 #   -w <fixed_count>
                                 #   -w min,max
                                 #   -w min,max,timeout [default: -w2,500,300]
    -u user                      # Priviledge separation user id

    
sbin/varnishd -a :8080 -n logs -f etc/varnish/default.vcl -T localhost:6082 -p thread_pools 8 -p first_byte_timeout 20 -p between_bytes_timeout 10m -s malloc,100m

4、varnish配置
  
   backend test {
  .host = "102.21011.81.309";
  .port = "8080";
  .probe = {
                .url = "/index.jsp";
                .interval = 5s;
                .timeout = 8 s;
                .window = 5;
                .threshold = 3;
  }
}
director baz1 round-robin{  
        {
                .backend = test;
        }
}
sub vcl_recv {
    set req.backend = baz1;
    /* add x-forwarded-for */
    if (req.http.x-forwarded-for) {
        set req.http.X-Forwarded-For =
            req.http.X-Forwarded-For ", " client.ip;
    } else {
        set req.http.X-Forwarded-For = client.ip;
    }

    /* ignore invalid request */
    if (req.request != "GET" &&
      req.request != "HEAD" &&
      req.request != "PUT" &&
      req.request != "POST" &&
      req.request != "TRACE" &&
      req.request != "OPTIONS" &&
      req.request != "DELETE") {
        /* Non-RFC2616 or CONNECT which is weird. */
        return (pipe);
    }

    if (req.request != "GET" && req.request != "HEAD") {
        /* We only deal with GET and HEAD by default */
        return (pass);
    }
    if (req.http.Authorization || req.http.Cookie) {
        /* Not cacheable by default */
        return (pass);
    }
    /* // need cache turn on return (lookup);*/
    return (pass);
}

sub vcl_pipe {
    set req.http.connection = "close";
    return (pipe);
}

sub vcl_deliver {
    set resp.http.Server = "是";
    return (deliver);
}

5、用apache ab进行测试
    ab -n100000 -c1000 http://192.168.1.128:8080/index.jsp
   
     Benchmarking 192.168.1.128(be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        Apache-Coyote/1.1
Server Hostname:        10.210.71.30
Server Port:            8080

Document Path:          /index.jsp
Document Length:        8248 bytes

Concurrency Level:      1000
Time taken for tests:   97.820 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Total transferred:      838287304 bytes
HTML transferred:       825560634 bytes
Requests per second:    1022.28 [#/sec] (mean)
Time per request:       978.205 [ms] (mean)
Time per request:       0.978 [ms] (mean, across all concurrent requests)
Transfer rate:          8368.80 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  575 1925.0    108   45128
Processing:     9  377 624.8    224   13631
Waiting:        7  223 501.8    107   13230
Total:         12  953 2061.8    339   45373

Percentage of the requests served within a certain time (ms)
  50%    339
  66%    360
  75%    415
  80%    620
  90%   3230
  95%   3439
  98%   9209
  99%   9459
 100%  45373 (longest request)

未完待续.....
     
分享到:
评论

相关推荐

    varnish测试报告

    根据提供的文件信息,以下是关于“Varnish测试报告”的详细知识点总结: ### Varnish缓存系统概述 Varnish是一款高性能的HTTP反向代理服务器和缓存服务器,常用于Web应用的加速。它能够将静态内容缓存在内存中,并...

    squid、varnish、ngx_cache的性能测试对比报告

    首先,从测试环境来看,本次测试所使用的Squid、Ngx_cache(也就是Varnish)、Nginx_cache均运行在具有单硬盘资源的服务器上,并为缓存分配了180G的存储空间。这意味着测试结果更侧重于考察三者在单盘存储条件下的...

    varnish+lighttpd配置

    下面我们将详细探讨如何配置Varnish与Lighttpd协同工作。 **一、Varnish简介** Varnish是一款HTTP加速器,它的主要功能是缓存静态内容,如HTML页面、图片和CSS文件等,从而减少对后端服务器的请求。Varnish通过使用...

    Varnish3.0.5的安装配置.txt

    ### Varnish 3.0.5 的安装与配置 #### 一、Varnish简介 Varnish是一款高性能的HTTP应用加速器,主要用于网站缓存以提高网站访问速度及服务器响应性能。它通过将频繁访问的数据缓存到内存中,从而减少后端服务器的...

    varnish-4.0.3.tar.gz

    在标题中提到的"varnish-4.0.3.tar.gz"是一个源代码压缩包,其中包含了Varnish 4.0.3版本的所有源代码和其他相关文件,用户可以下载并编译来在自己的服务器上安装和运行Varnish。 Varnish的核心功能在于其高速的...

    varnish-6.2.0.tgz

    用户可以按照官方提供的安装指南,编译并安装Varnish 6.2.0,然后根据自己的需求配置VCL,将Varnish集成到现有的Web服务架构中。 总之,Varnish 6.2.0作为一个高效的HTTP缓存加速器,对于提高网站性能、减少服务器...

    Varnish Cache v4.0.0-beta1.zip

    首先,要确保正确配置Varnish与后端服务器之间的通信,包括设置连接池大小、超时时间以及错误处理策略。其次,合理设置缓存策略,避免无效或敏感信息被缓存。最后,监控Varnish的运行状态和日志,以便及时发现并解决...

    varnish-gcov:用于评估Varnish Cache的测试套件覆盖率的工具

    Varnish Cache测试覆盖套件用于测量Varnish Cache的测试套件覆盖率的工具。 这段代码位于上的git中。先决条件在Debian上: # apt-get install lcov跑步主脚本是“ collect”,它使用varnish-cache/的git checkout。 ...

    Day02 varnish cdn推送平台

    结合Varnish与CDN,可以构建出更加高效稳定的内容分发系统。本文将详细介绍如何搭建基于Varnish的CDN推送平台,并进行相关的配置。 #### 环境准备 首先需要安装PHP环境以及bansys.zip安装包,这一步是整个搭建过程...

    varnish4-vagrant:LAMP plus Varnish 4 的安装示例

    它不是超级强大,而且我没有要测试的 Windows 机器。 因此,如果您发现明显的 Windows 问题,请告诉我!运行这个你需要安装和 。 Git 克隆这个盒子。 编辑 Vagrantfile,将 webroot 设置为各个站点文件夹所在的...

    PyPI 官网下载 | plone.recipe.varnish-6.0.0b2.tar.gz

    5. 测试和调整:检查Varnish日志,进行性能测试,根据需求调整配置。 总的来说,`plone.recipe.varnish`是Plone环境中整合Varnish缓存服务的重要工具,它简化了Varnish的配置过程,提升了Plone站点的性能和用户体验...

    rh-varnish6-varnish-libs-6.0.8-2.el7.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    varnish-6.0.8-1.module_el8.5.0+995+944219f1.ppc64le.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    Nginx和Varnish优化补充

    Nginx和Varnish是当前流行的高性能Web服务器和反向代理服务器,经常用于缓存和负载均衡。针对这两个技术的优化补充知识点,主要围绕提升...务必在测试环境中充分测试这些配置,以确保它们不会对现有服务造成负面影响。

    varnish-cache:Varnish Cache源代码存储库

    - **构建脚本和配置文件**:帮助用户编译和安装Varnish Cache,以及设置初始的运行环境。 总之,Varnish Cache是Web性能优化的重要工具,其开源的源代码存储库为开发者提供了深入了解和定制该服务的机会。通过研究...

    Laravel开发-laravel-varnishable

    8. **测试和调试**:为了确保Varnish和Laravel的正确集成,开发者需要进行测试,以验证缓存策略是否按预期工作。这可能涉及到使用HTTP客户端工具检查Varnish的响应头,或者在Laravel的日志中查看与Varnish交互的事件...

Global site tag (gtag.js) - Google Analytics