|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小知识:CentOS并不包含封闭源代码软件。
memc-nginx-module模块利用场景
针对一些会见量很年夜的页面,出格是瞬时会见量很年夜的体系,jetty没法支持住哀求,这时候候可使用memc-nginx-module模块模块与srcache-nginx-module模块将哀求页面数据寄存在
memcached中,可年夜年夜提拔体系的并发才能。
memc-nginx-module模块安装
因为angentzh保护的openresty封装了一切这些模块,因而间接利用openresty是最便利的选择。
安装历程以下:
- 1.下载并解压ngx_openresty
- wget"http://agentzh.org/misc/nginx/ngx_openresty-1.2.3.8.tar.gz"tar-xvzfngx_openresty-1.2.3.8.tar.gzcdngx_openresty-1.2.3.8
复制代码
- 2.在configure之前,必要安装openresty依附的库,安装以下:
- yuminstallreadline-develpcre-developenssl-devel
复制代码
- 3.编译安装openresty,注重此处必要加上concat模块
- ./configure--add-module=/home/tar/nginx_concat_module/trunk/makemakeinstall
复制代码
ngx_openresty默许安装在/usr/local/openresty目次下。
修正nginx.conf文件,设置memc-nginx-module模块
在http段,增添memc_server,并启用keepalive
- upstreammemc_server{server127.0.0.1:11211;keepalive512;}
复制代码
在server段,设置必要缓存的页面
- location~^/qiang/[0-9]*.html${set$qiang_key$request_uri;srcache_fetchGET/memc$qiang_key;srcache_storePUT/memc$qiang_key;add_headerX-Cached-From$srcache_fetch_status;proxy_redirectoff;proxy_set_headerHost$host;proxy_set_headerAccept-Encoding"";proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_passhttp://127.0.0.1:8080;}
复制代码- location/memc{internal;memc_connect_timeout100ms;memc_send_timeout100ms;memc_read_timeout100ms;set$memc_key$query_string;#一致缓存5sset$memc_exptime30;memc_passmemo_server;}
复制代码
申明
浏览上述Nginx缓存页面设置时,必须分明nginx哀求实行的顺遂并非只依照设置文件中指令所处的按次。每个指令都绑定在Ngnix哀求实行按次的一个阶段,上述设置的指令中,实行按次大抵以下:
- srcache_fetch-->proxy_pass-->srcache_store
复制代码
以上设置必需运转在srcache-nginx-module模块0.14及以上版本之上。
ngx_openresty-1.2.3.8对应的srcache-nginx-module版本为0.16
重启使用,考证
重启nginx,会见指定的URL,考证memc-nginx-module模块是不是失效。考证***以下:
下面设置文件中的
- add_headerX-Cached-From$srcache_fetch_status;
复制代码
指令会将cache是不是射中的形态输入成HTTP的一个扩大头信息内里,因而用Safari,Chrome,Firefox等扫瞄器检察http哀求前往的数据就能够晓得缓存是不是射中。
$srcache_fetch_status的取值有“HIT”,“MISS”。
功能测试
对指定缓存举行压力测试,qps最高到达2300req/s,此时体系的cpu,内存等资本仍旧很低,而千兆网卡则全体写满,瓶颈已不在cpu和内存上了,到达预期方针。
update(2012-10-29):
1、此计划中memcached与Nginx可放在统一台办事器上,必需二者间的数据互换过年夜招致网卡瓶颈
小知识:CentOS完全遵守上游供应商的再发行政策,并且以百分之百的软件兼容性为目标。 |
|