我遇到了一个瓶颈,无论我做了什么调整,我的服务器都无法通过20000x4000基准测试。 服务器有128G的Ram和Xeon6核cpu,centos5.6-64位,性能良好。在
我尝试组合包括:
nginx + uwsgi + python2.7
nginx + apache + mod_wsgi + python2.7
apache + mod_wsgi + python2.7
他们都无法通过apache基准测试:
^{pr2}$巧合的是,几乎所有的测试都失败了32000个请求
关于nginx和uwsgi的详细信息:
nginx公司:
worker_processes 24
use epoll
worker_connections 65535
威斯康星州:
listen 2048
master true
workers 24
uwsgi -x /etc/uwsgi_conf.xml --async 256 --file /var/www/example.py &
有人知道吗? 提前感谢任何可能的解决方案和建议
在一个系统上允许如此多的并发连接需要大量的内核调优,而且您可能永远无法在生产环境中管理这样的负载。在
首先,您必须增加临时端口的数量、套接字积压队列、每个进程允许的文件描述符的数量等等。。。在
除此之外(这应该已经足够停止这种不切实际的测试)你应该增加uWSGI中的异步内核的数量到20k。taht没有什么问题(每个内核消耗的内存少于一页内存),但是你将在系统中以至少40k个打开的套接字结束。在
这是给nginx+uwsgi的。在
使用Apache,您将以20k个进程或线程结束,这甚至比40k个打开的套接字还要糟糕。在
相关问题 更多 >
编程相关推荐