1 php concurrency memcached lighttpd
我遇到了memcached的问题.不确定它是memcached,php还是tcp套接字,但每当我尝试使用memcached的页面具有50或更多并发性的基准测试时,其中一些请求使用apache ab失败.我得到(99)无法分配请求的地址错误.
当我对常规phpinfo()页面进行5000并发测试时.一切都好.没有失败的请求.
似乎memcached不能支持高并发性或者我错过了什么?我正在使用-c 5000标志运行memcached.
服务器:(2)四核Xeon 2.5Ghz,64GB内存,4TB Raid 10,64位OpenSUSE 11.1
小智 5
看起来这个问题可能是事情的组合.
将lighttpd.conf中的sever.max-worker设置为更高的数字Original:16 Now:32
在lighttpd.conf中关闭了keep-alive,它保持连接打开的时间太长了.server.max-keep-alive-requests = 0
将ulimit -n打开文件更改为更高的数字.ulimit -n 65535
如果您使用的是linux:server.event-handler ="linux-sysepoll"server.network-backend ="linux-sendfile"
增加max-fds server.max-fds = 2048
在回收之前降低tcp TIME_WAIT,这样可以更快地关闭连接.在/etc/sysctl.conf中添加:net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 3
确保使用以下命令强制重新加载:/ sbin/sysctl -p
在我进行了更改后,我的服务器现在运行30,000个并发连接和1,000,000个并发请求,没有任何问题,请求失败或使用apache ab写入错误.
我的Apache无法接近这个基准.Lighttd让我现在嘲笑Apache.Apache爬行大约200并发.
归档时间: |
|
查看次数: |
5784 次 |
最近记录: |