我在fastcgi模式下运行Centos 5.3和PHP 5.3.6上的Lighttpd(1.4.28)Web服务器。
服务器本身是一个带有1GB内存的四核,用于记录视频平台的查看统计信息。
每个请求都包含一小部分xml被发布,接收php脚本执行简单的INSERT或UPDATE mysql查询。 php返回一个非常小的响应来确认请求。
这些请求非常频繁地执行,我需要系统能够以高速率的请求/秒处理尽可能多的并发连接。
我已禁用保持活动,因为只会发出单个请求,所以我不需要保持连接打开。
我担心的一件事是,在服务器状态下,我看到很多连接处于“读取”状态。我认为这是由server.max-read-idle控制的,默认设置为60?是否可以将其更改为5,因为我看到大多数连接长时间保持打开状态。
另外,我还可以做些什么来优化lighttpd以便能够为很多小请求提供服务
这是我第一次设置lighttpd的经验,因为我觉得在这种情况下它比apache更合适。
由于
伊尔凡
答案 0 :(得分:1)
我认为问题不在于网络服务器,而在于你的PHP应用程序,特别是在MySQL部分。
我会用apache + mod_php替换lighty,用一些NoSQL替换mysql这样的Redis,它会将INSERT请求排队到数据库。然后我会写一个在MySQL中插入数据的守护进程/ crontab。
之前我们有这样的事情,但是我们在一个目录中创建了TXT文件而不是Redis。