博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ab测试 uwsgi遇到的问题
阅读量:4472 次
发布时间:2019-06-08

本文共 5146 字,大约阅读时间需要 17 分钟。

1 请求并发数目较大时,接收到的数目小于发送的数目

1.1  

描述:uwsgi正常返回302跳转

ab -n 5000 -c 250 -g test.log "192.168.50.20:9033/Mapping.do?×××××××&as=1234567"

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.50.20 (be patient)
Completed 500 requests
Completed 1000 requests
Completed 1500 requests
Completed 2000 requests
Completed 2500 requests
Completed 3000 requests
Completed 3500 requests
Completed 4000 requests
Completed 4500 requests
Finished 5000 requests
Server Software:        
Server Hostname:        192.168.50.20
Server Port:            9033
Document Path:          /Mapping.do?bfd_nid=behe&as=1234567
Document Length:        0 bytes
Concurrency Level:      250
Time taken for tests:   12.107652 seconds
Complete requests:      5000
Failed requests:        0
Write errors:           0
Non-2xx responses:      4990
Total transferred:      2095800 bytes
HTML transferred:       0 bytes
Requests per second:    412.96 [#/sec] (mean)
Time per request:       605.383 [ms] (mean)
Time per request:       2.422 [ms] (mean, across all concurrent requests)
Transfer rate:          168.98 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1  42.5      0    3000
Processing:    18  466 1595.9    151   12083
Waiting:        0  446 1536.9    150   12083
Total:         18  467 1601.7    151   12106
Percentage of the requests served within a certain time (ms)
  50%    151
  66%    165
  75%    198
  80%    251
  90%    389
  95%    485
  98%   9008
  99%  12036
 100%  12106 (longest request)

按照上边的结果所示,发送了5000个请求,4990个非2xx相应(Non-2xx responses:      4990)

而查看uwsgi.log发现也只接收到4990个请求。

1.2   只要降低并发就不会出现这样的问题

ab -n 50000 -c 100 -g test.log "192.168.50.20:9033/Mapping.do?bfd_nid=behe&as=1234567"

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.50.20 (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Completed 30000 requests
Completed 35000 requests
Completed 40000 requests
Completed 45000 requests
Finished 50000 requests
Server Software:        
Server Hostname:        192.168.50.20
Server Port:            9033
Document Path:          /Mapping.do?bfd_nid=behe&as=1234567
Document Length:        0 bytes
Concurrency Level:      100
Time taken for tests:   85.735172 seconds
Complete requests:      50000
Failed requests:        0
Write errors:           0
Non-2xx responses:      50000
Total transferred:      21000000 bytes
HTML transferred:       0 bytes
Requests per second:    583.19 [#/sec] (mean)
Time per request:       171.470 [ms] (mean)
Time per request:       1.715 [ms] (mean, across all concurrent requests)
Transfer rate:          239.19 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.0      0     186
Processing:     4  170 123.1    136    1592
Waiting:        4  170 123.0    136    1592
Total:          4  170 123.1    136    1592
Percentage of the requests served within a certain time (ms)
  50%    136
  66%    148
  75%    159
  80%    169
  90%    265
  95%    403
  98%    540
  99%    650
 100%   1592 (longest request)

1.3 调大listen参数解决问题。

当listen参数变大时,可以提高并发的数目。按道理增大processes数量和增大listen队列长度都可以增大并发能力。但是好像使用listen参数,效果比较显著。难道是后端处理速度太慢,需要缓存更多?

uwsgi.ini:

[uwsgi]

http=0.0.0.0:9033
master=true
pythonpath=../
module=api
processes=30
listen=512
daemonize=uwsgi.log
pidfile=uwsgi.pid
vacuum=true
harakiri=5
harakiri-verbose=true
buffer-size=16384

uwsgi.ini:

[uwsgi]

#http=192.168.40.11:9034
http=0.0.0.0:9034
master=true
pythonpath=../
module=breapi
processes=32
listen=512
daemonize=./logs/uwsgi.log
pidfile=uwsgi.pid
vacuum=true
harakiri=5
harakiri-verbose=true
buffer-size=16384
stats = $(HOSTNAME):1734

测试:

ab   -n 30000 -c 1000 -g test.log "192.168.40.11:9034/Mapping.do?bfd_nid=behe&as=1234567" 

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.40.11 (be patient)
Completed 3000 requests
Completed 6000 requests
Completed 9000 requests
Completed 12000 requests
Completed 15000 requests
Completed 18000 requests
Completed 21000 requests
Completed 24000 requests
Completed 27000 requests
Finished 30000 requests
Server Software:        
Server Hostname:        192.168.40.11
Server Port:            9034
Document Path:          /Mapping.do?bfd_nid=behe&as=1234567
Document Length:        0 bytes
Concurrency Level:      1000
Time taken for tests:   12.411582 seconds
Complete requests:      30000
Failed requests:        0
Write errors:           0
Non-2xx responses:      29994
Total transferred:      12597480 bytes
HTML transferred:       0 bytes
Requests per second:    2417.10 [#/sec] (mean)
Time per request:       413.719 [ms] (mean)
Time per request:       0.414 [ms] (mean, across all concurrent requests)
Transfer rate:          991.17 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    4  99.8      0    3000
Processing:    43  299 983.0    126    9234
Waiting:        0  297 976.9    125    9234
Total:         50  304 993.5    126   12070
Percentage of the requests served within a certain time (ms)
  50%    126
  66%    129
  75%    132
  80%    134
  90%    141
  95%    616
  98%   3222
  99%   3632
 100%  12070 (longest request)

转载于:https://www.cnblogs.com/catkins/p/5270425.html

你可能感兴趣的文章
Shell编程-条件测试 | 基础篇
查看>>
AngularJs学习笔记1——总体介绍
查看>>
绝对定位和相对定位
查看>>
实习第二天——学习mac终端命令(unix命令)和git代码管理
查看>>
微信支付
查看>>
吴裕雄--天生自然 高等数学学习:含参变量的积分
查看>>
成本的费用归集
查看>>
运行时库组件 RuntimePack v19.06.05 Full 纯净安装版
查看>>
NYOJ100 - 1的个数
查看>>
左侧定宽右侧自适应布局
查看>>
文件和目录的访问控制(4) 审核规则
查看>>
Python 爬虫插件
查看>>
Noip 2011 Day 1 & Day 2
查看>>
虚拟现实-ar one
查看>>
python接口自动化测试二十五:执行所有用例,并生成HTML测试报告
查看>>
c# 指定的存储区提供程序在配置中找不到,或者无效
查看>>
最简陋的python数据
查看>>
第一堂java web课
查看>>
操作系统简介
查看>>
第1周小组博客作业--1703班06组
查看>>