nginx+uwsgi+python2.7出现了无法通过20000x4000基准测试的瓶颈

2024-09-30 22:15:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一个瓶颈,无论我做了什么调整,我的服务器都无法通过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 &

有人知道吗? 提前感谢任何可能的解决方案和建议


Tags: 服务器modwsgiapache基准nginx详细信息cpu
1条回答
网友
1楼 · 发布于 2024-09-30 22:15:03

在一个系统上允许如此多的并发连接需要大量的内核调优,而且您可能永远无法在生产环境中管理这样的负载。在

首先,您必须增加临时端口的数量、套接字积压队列、每个进程允许的文件描述符的数量等等。。。在

除此之外(这应该已经足够停止这种不切实际的测试)你应该增加uWSGI中的异步内核的数量到20k。taht没有什么问题(每个内核消耗的内存少于一页内存),但是你将在系统中以至少40k个打开的套接字结束。在

这是给nginx+uwsgi的。在

使用Apache,您将以20k个进程或线程结束,这甚至比40k个打开的套接字还要糟糕。在

相关问题 更多 >