2011-07-07 106 views
0

我有一个Lighttpd(1.4.28)web服务器运行在Centos 5.3和PHP 5.3.6在fastcgi模式。优化Lighttpd为大量连接服务小文件

服务器本身是一个带有1gb ram的四核,用于记录视频平台的查看统计信息。

每个请求都包含一小部分xml,接收的php脚本执行一个简单的INSERT或UPDATE mysql查询。 PHP返回一个非常小的响应来确认请求。

这些请求非常频繁地执行,我需要系统能够以高速率的请求/秒处理尽可能多的并发连接。

我已禁用保持活动状态,因为只有单个请求将被创建,因此我不需要保持连接处于打开状态。

关注我的一件事是,在服务器状态中,我看到很多处于“读取”状态的连接。我认为这是由server.max-read-idle默认设置为60来控制的。可以将它改为5,因为我看到大多数连接长时间处于打开状态。

而且我还能做优化的lighttpd能够服务器许多小请求

的这是我第一次体验设置lighttpd的,因为我认为这将是比在这种情况下的Apache更适合。

感谢

伊尔凡

回答

1

我相信这个问题是不是在Web服务器,但在你的PHP应用程序,尤其是在MySQL的一部分。

我会用apache + mod_php替换lighty,用一些NoSQL这样的Redis替换mysql,这会将INSERT请求排队到数据库。然后我会编写一个在MySQL中插入数据的守护进程/ crontab。

我们之前有过这样的事情,但我们并没有使用Redis,而是在一个目录中创建了TXT文件。

+0

我知道是2年后,但看看这个,我编程几个月后,我写在这里 - https://github.com/nmmmnu/Micro-HTTPD,我们使用它自那时以来一个自动完成。 – Nick