1
tanywei 2014-08-07 11:56:44 +08:00 1
nginx本来就是干静态的料吧
|
2
passluo 2014-08-07 11:59:31 +08:00 1
send_from_directory() ?
|
3
datou552211 2014-08-07 12:03:04 +08:00 via iPhone 1
你连动态性能都没测
|
4
hydrazt OP @tanywei 性能上有区别时意料中的,但是4倍,表示有些惊讶
@datou552211 也做了动态的测试 1. nginx + uwsgi + flask + mongodb 测试的网页需要到mongodb中获取数据,页面大概6k, 只能处理300req/s 2. nginx + uwsgi + flask + flask-redis + mongodb flask-redis 对flask的页面做了类似 varnish的cache, 性能直接从300req/s 增加到 3000req/s 考虑到flask-redis是在uwsgi后端的,如果使用varnish,且放在nginx 和 uwsgi之间,估计能处理10000req/s |
5
hydrazt OP @passluo 没有使用send_from_directory, 测试文件直接放到project/static/目录中,测试时直接时http://xxx.com/static/test.file
|
6
zjgood 2014-08-07 12:13:15 +08:00 via Android 1
@hydrazt 我觉得前端就放一个varnish就够了,然后设置好各种刷新缓存的例外情况,如admin登陆,提交评论。后端标准lnmp或者lamp,这样不折腾
|
7
hydrazt OP @zjgood 性能没遇到瓶颈,flask-redis相当简单,就没上varnish了,打算有时间再说了
还是很想问问 uwsgi对性能的影响 |
8
lj0014 2014-08-07 12:18:08 +08:00 via Android
有试下把uwsgi再多开几个吗
|
10
est 2014-08-07 12:22:34 +08:00 via Android
呵呵。
|
11
lianghui 2014-08-07 12:27:16 +08:00
你敢在裹一个https么,不keep-alive 请相信80req/s很正常
|
14
hydrazt OP @lj0014 之前使用1个uwsgi -M -p 8的参数,修改为4个uwsgi -M -p 4后,处理能力从3000req/s 提高到 5500 req/s了, 有意思啊
|
15
KDr2 2014-08-07 16:01:35 +08:00
nginx 静态文件 主要是 sendfile 立功了吧。
|
16
hydrazt OP @lj0014 重新测试了一下,之前的测试是有问题的,uwsgi启动的时候,我将log直接在console上输出了,压测的时候会有大量的打印输出,影响了测试结果。
把输出重定向到文件后,单个uwsgi -M -p 8的处理能力已经达到6700req/s, 相比nginx直接提供服务的13000req/s,算是合理的结果了。 之前单个uwsgi和4个uwsgi测试出来的处理能力不同,应该也是和大量输出log有关的,4个uwsgi的话,有4个uwsgi主进程,打印输出可以同时使用到4个cpu的中断,性能上相比单个uwsgi好,也解释的通了。 |
17
NCE 2014-09-16 13:16:50 +08:00
add tornado.
|