01.项目部署并发分析
1.1 并发常用名词
-
PV(访问量): 页面访问量,页面刷新一次算一次。
-
UV(独立访客): 即Unique Visitor,一个客户端(电脑,手机)为一个访客;
-
DAU(日活跃用户数):登录或使用了某个产品的用户数,这与流量统计工具里的访客(UV)概念相似。
-
峰值QPS:
原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
- QPS/TPS(每秒查询率):每秒能够查询次数(QPS/TPS= 并发数 / 平均响应时间)
并发数:并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。
吐吞量:吞吐量是指系统在单位时间内处理请求的数量
响应时间(RT):响应时间是指系统对请求作出响应的时间,一般取平均响应时间
1.2 单台django性能分析
- 四核机器,可以开4个进程,每个进程开启50个线程
- 那么如果每个请求处理1秒,最多可以处理
4 * 50 = 200
个请求(所以QPS=200
) - 取决QPS主要因素:
- CPU核数(核数越多,能够开启的进程数越多)
- 接口返回时间(每个接口处理速度,所以也是在于我们对接口优化)
[uwsgi]
socket = 0.0.0.0:3031
chdir = /code/mmcsite
wsgi-file = /code/mmcsite/wsgi.py
processes = 4
threads = 50
master = true
daemonize = /code/mmcsite/uwsgi.log
module=mmcsite.wsgi
pidfile = /code/mmcsite/uwsgi.pid
chmod-socket=666
enable-threads = true
__END__