我有一个Django项目,用nginx和uwsgi配置。网站中涉及的CPU处理并不多。大部分都是简单的阅读,但我们预计会有很多点击。我使用apache基准测试。给出一个简单的方法是使网站变慢(当基准测试正在进行时,即使从不同的IP地址也无法在任何浏览器中打开网站)。我给出了16个进程的数量和8个线程的数量。我的uwsgi.ini文件如下。ab -n 200 -c 200 <url>
[uwsgi]
master = true
socket = /tmp/uwsgi.sock
chmod-socket = 666
chdir = <directory>
wsgi-file = <wsgi file path>
processes = 16
threads = 8
virtualenv = <virtualenv path>
vacuum = true
enable-threads = true
daemonize= <log path>
stats= /tmp/stats.sock
当我检查uwsgitop时,可以看到worker 7和8正在处理大多数请求,其余的处理的请求数量少于它们。这可能是我在运行基准测试时无法在浏览器中加载网站的原因吗?如何有效地使用uwsgi进程来提供最大数量的并发请求?
这是htop的结果。在基准测试期间,使用的内存或处理器不多。有人可以帮我有效地设置服务器吗?
泛舟湖上清波郎朗
素胚勾勒不出你
相关分类