部分内容转自: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是一款高性能的HTTP反向代理服务器和缓存服务器,常用于Web应用的加速。它能够将静态内容缓存在内存中,并...
首先,从测试环境来看,本次测试所使用的Squid、Ngx_cache(也就是Varnish)、Nginx_cache均运行在具有单硬盘资源的服务器上,并为缓存分配了180G的存储空间。这意味着测试结果更侧重于考察三者在单盘存储条件下的...
下面我们将详细探讨如何配置Varnish与Lighttpd协同工作。 **一、Varnish简介** Varnish是一款HTTP加速器,它的主要功能是缓存静态内容,如HTML页面、图片和CSS文件等,从而减少对后端服务器的请求。Varnish通过使用...
### Varnish 3.0.5 的安装与配置 #### 一、Varnish简介 Varnish是一款高性能的HTTP应用加速器,主要用于网站缓存以提高网站访问速度及服务器响应性能。它通过将频繁访问的数据缓存到内存中,从而减少后端服务器的...
在标题中提到的"varnish-4.0.3.tar.gz"是一个源代码压缩包,其中包含了Varnish 4.0.3版本的所有源代码和其他相关文件,用户可以下载并编译来在自己的服务器上安装和运行Varnish。 Varnish的核心功能在于其高速的...
用户可以按照官方提供的安装指南,编译并安装Varnish 6.2.0,然后根据自己的需求配置VCL,将Varnish集成到现有的Web服务架构中。 总之,Varnish 6.2.0作为一个高效的HTTP缓存加速器,对于提高网站性能、减少服务器...
首先,要确保正确配置Varnish与后端服务器之间的通信,包括设置连接池大小、超时时间以及错误处理策略。其次,合理设置缓存策略,避免无效或敏感信息被缓存。最后,监控Varnish的运行状态和日志,以便及时发现并解决...
Varnish Cache测试覆盖套件用于测量Varnish Cache的测试套件覆盖率的工具。 这段代码位于上的git中。先决条件在Debian上: # apt-get install lcov跑步主脚本是“ collect”,它使用varnish-cache/的git checkout。 ...
结合Varnish与CDN,可以构建出更加高效稳定的内容分发系统。本文将详细介绍如何搭建基于Varnish的CDN推送平台,并进行相关的配置。 #### 环境准备 首先需要安装PHP环境以及bansys.zip安装包,这一步是整个搭建过程...
它不是超级强大,而且我没有要测试的 Windows 机器。 因此,如果您发现明显的 Windows 问题,请告诉我!运行这个你需要安装和 。 Git 克隆这个盒子。 编辑 Vagrantfile,将 webroot 设置为各个站点文件夹所在的...
5. 测试和调整:检查Varnish日志,进行性能测试,根据需求调整配置。 总的来说,`plone.recipe.varnish`是Plone环境中整合Varnish缓存服务的重要工具,它简化了Varnish的配置过程,提升了Plone站点的性能和用户体验...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Nginx和Varnish是当前流行的高性能Web服务器和反向代理服务器,经常用于缓存和负载均衡。针对这两个技术的优化补充知识点,主要围绕提升...务必在测试环境中充分测试这些配置,以确保它们不会对现有服务造成负面影响。
- **构建脚本和配置文件**:帮助用户编译和安装Varnish Cache,以及设置初始的运行环境。 总之,Varnish Cache是Web性能优化的重要工具,其开源的源代码存储库为开发者提供了深入了解和定制该服务的机会。通过研究...
8. **测试和调试**:为了确保Varnish和Laravel的正确集成,开发者需要进行测试,以验证缓存策略是否按预期工作。这可能涉及到使用HTTP客户端工具检查Varnish的响应头,或者在Laravel的日志中查看与Varnish交互的事件...