论坛首页 综合技术论坛

被lighttpd搞的火大

浏览 23363 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-05-15  
crmky 写道
以前做http server压力测试的时候参考过这份报告,lighttpd的效率在这个测试中算是中上。

不过对于很多项目而言,http server的效率并不是唯一的考量。


使用lighttpd,倒主要不是因为效率,而是资源的占用量。这个有着很现实的意义。拿现在JavaEye运行的服务器来说吧,内存是2GB,上面有4个tomcat实例,2个mysql数据库,内存使用还是相当多的。而apache是一个对内存依赖非常高的web server ,当前每个apache进程占用的驻留内存从4MB到20MB不等,一般在7-8MB之间(由于以mod方式运行PHP,所以apache使用内存算比较高的了)。而平时apache进程数量在100个左右,这意味着,光是驻留内存就会占用到600MB以上,这还没有计算共享内存的部分。

当遇到访问的峰值,或者有人恶意发起慢速连接,即使不用DOS进攻,也很可能会导致服务器物理内存耗尽,例如当前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。如果在短时间内发起大量连接,如果使用足够多的IP(或者IP欺骗)来绕过我的防火墙脚本的规则,那么就会导致服务器物理内存耗尽,频繁swap,失去响应,只能重起服务器了。

而假设换成lighttpd,我试了一下200个以上的连接,也不到10MB驻留内存占用,而且CPU占用少几倍。

因此我会考虑在合适的时候,迁移到lighttpd上面。
0 请登录后投票
   发表时间:2006-05-15  
不知道用apache的worker模式会不会好点.
0 请登录后投票
   发表时间:2006-05-15  
scud 写道
不知道用apache的worker模式会不会好点.

worker模式的资源占用率更高,而且配置麻烦,需要重编译。
另外,php不建议使用线程模式。
0 请登录后投票
   发表时间:2006-05-15  
robbin 写道
crmky 写道
以前做http server压力测试的时候参考过这份报告,lighttpd的效率在这个测试中算是中上。

不过对于很多项目而言,http server的效率并不是唯一的考量。


使用lighttpd,倒主要不是因为效率,而是资源的占用量。这个有着很现实的意义。拿现在JavaEye运行的服务器来说吧,内存是2GB,上面有4个tomcat实例,2个mysql数据库,内存使用还是相当多的。而apache是一个对内存依赖非常高的web server ,当前每个apache进程占用的驻留内存从4MB到20MB不等,一般在7-8MB之间(由于以mod方式运行PHP,所以apache使用内存算比较高的了)。而平时apache进程数量在100个左右,这意味着,光是驻留内存就会占用到600MB以上,这还没有计算共享内存的部分。

当遇到访问的峰值,或者有人恶意发起慢速连接,即使不用DOS进攻,也很可能会导致服务器物理内存耗尽,例如当前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。如果在短时间内发起大量连接,如果使用足够多的IP(或者IP欺骗)来绕过我的防火墙脚本的规则,那么就会导致服务器物理内存耗尽,频繁swap,失去响应,只能重起服务器了。

而假设换成lighttpd,我试了一下200个以上的连接,也不到10MB驻留内存占用,而且CPU占用少几倍。

因此我会考虑在合适的时候,迁移到lighttpd上面。

如果lighthttp资源占用那么少的话,我也打算把我的服务器迁移过去了。我的机器内存才 1G 呢。
0 请登录后投票
   发表时间:2006-05-15  
dwangel 写道
scud 写道
不知道用apache的worker模式会不会好点.

worker模式的资源占用率更高,而且配置麻烦,需要重编译。
另外,php不建议使用线程模式。


我配置的就是worker模式,没觉得什么麻烦. 我就是编译安装的,所以无所谓

另外也装了php5,到目前还没遇到什么麻烦

当然访问量不大
0 请登录后投票
   发表时间:2006-05-20  
scud 写道

我配置的就是worker模式,没觉得什么麻烦. 我就是编译安装的,所以无所谓

另外也装了php5,到目前还没遇到什么麻烦

当然访问量不大

确实跟访问量有点关系。
访问量大了才明显,主要是内存占用,比prefork还多。
0 请登录后投票
   发表时间:2006-06-18  
robbin 写道
dwangel 写道
难道老不吃饱的话,就不给老二?


可能真的是这样。我又试了一把新的测试方案:

ab -c 1 -n 100000 http://develop/

先用ab给lighttpd一点压力,然后我再打开浏览器去访问
http://develop/

刷新再刷新,这次完全正常了,出来一次clone1,就出来一次clone2,两者得到的请求完全平衡了。

然后我不在加压给lighttd,再打开浏览器刷新,不管怎么刷,它总是clone1。真贱啊,不给它点压力,就不给我干活!



这做的也太过智能了把..
0 请登录后投票
   发表时间:2006-11-06  
lighhtpd 怎么支持 java呀
0 请登录后投票
   发表时间:2007-03-20  
我的服务器也换了lighttpd了.
不过现在的问题是怎样跟tomcat结合.
0 请登录后投票
   发表时间:2007-03-20  
最近一直用nginx
感觉很是不错
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics