快速业务通道

高性能HTTP加速器Varnish(性能调优篇)

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-25
主机上同时登陆了10个人,在系统资源没有限制的情况下,这10个用户同时打开了500个文档,而假设每个文档的大小有10M,这时系统的内存资源就会受到巨大的挑战.如果没有内存方面的限制,势必造成系统资源利用的混乱,而实际的应用环境要比这种假设复杂的多,这时,ulimit就派上用场了.它是一种简单并且有效的实现资源限制的方式. ulimit可以限制系统的各个方面,它通过限制shell启动进程所占用的资源,来完成系统资源的合理利用和分配,ulimit支持以下各种类型的限制:所创建的内核文件的大小、内存锁住的大小、常驻内存集的大小、进程数据块的大小、打开文件描述符的数量、Shell进程所能使用的最大虚拟内存、Shell 进程创建文件的大小、分配堆栈的最大大小、单个用户的最大线程数、CPU 时间等.同时,它还支持硬资源和软资源的限制. ulimit有临时限制和永久限制两种实现方式,它可以限制通过使用其命令行登录的shell会话,并在会话终止时结束限制,而不影响于其它shell会话.对于长期的固定限制,ulimit的命令可以添加到由登录shell的配置文件中,这样就实现了永久限制shell启动进程所占用的资源. Ulimit使用格式为:ulimit [options] [value] 具体的options 含义以及简单示例如表1所示: 表1

在了解了ulimit的含义和用法以后,接下来就可以针对varnish系统进行相关的设定了,这里的参数设定值如下所示,但是此值不能一概而论,需要根据应用环境的不同,选择适合的值: ulimit -HSn 131072 ulimit -HSc unlimited 为了保证这个限制永久生效,最好将ulimit设置放到varnish的启动脚本中. 三、Varnish参数优化 通过telnet到varnish的3500管理端口,然后执行“param.show”命令即可看到varnish运行中的所有参数,当然也可以通过这种方式更改相关参数,varnish运行中的参数有很多,这里仅选取对varnish性能影响比较大的几个参数进行介绍,更多介绍请查阅官方文档. 看下面四个参数: thread_pools 4 [pools] thread_pool_min 50 [threads] thread_pool_max 5120 [threads] thread_pool_timeout 10 [seconds]  thread_pools:用来设置线程池的数量,一般认为这个值和系统CPU的数目相同最好,设置过多的pools,varnish的并发处理能力会更强,但是也会消耗更多的CPU和内存.  thread_pool_min:用来设置每个pools的最小threads数,当pools接收到可用的请求后,就会将请求分配给空闲的threads来处理.  thread_pool_max:表示所有pools对应的threads数总和的最大值,此值不能太大,可以设置为系统峰值的90%左右即可,设置过大,会导致进程hung住.  thread_pool_timeout:表示threads的超时过期时间,当threads数大于thread_pool_min设定值时,threads空闲超过thread_pool_timeout设定的时间时,thread就会被释放掉. 另外还有两个参数: lru_interval 20 [seconds] listen_depth 1024 [connections]  lru_interval:这是个时间参数,大概意思是说如果有一个对象在内存中超过了此参数设定的时间还没有被重用时,就把这个对象从LRU(Least Recently Used)队列中移除.这其实是缓存系统的一个常用算法,合理的设置这个时间,可以提高系统的运行效率.  listen_depth:这个参数是设置TCP连接队列的长度,设置大一点可以提高并发处理能力. 对于这些优化参数,最好的方式是加到varnish的启动脚本中,通过varnishd的“-p”参数调用即可.

本文出自 “技术成就梦想” 博客,谢绝转载!

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号