Jmeter配置:
网络服务器:
服务器名称:120.0.0.1
端口号:9000
超时
连接:空白
回复:空白
方法:GET
线程用户:500
加速:1
循环次数:1(未选中复选框)
500用户70用户失败
这是代码
@api_view(['GET'])
def country_list(request):
#country = cache.get('country')
try:
countryData = Country.objects.values('country_id','country_name').all().order_by('country_name')
#countryData = Country.objects.extra(select={'name': 'country_name','id':'country_id'}).values('id','name').all().order_by('country_name')[:5]
serializer = CountrySerializer(countryData,many=True)
#cache.set('country', serializer.data, 30)
return JsonResponse({'data': serializer.data, 'error': 0 })
except (KeyError, Country.DoesNotExist):
return JsonResponse({ 'error': 1 })
并且响应在这里
Thread Name: country 1-169
Sample Start: 2017-05-26 15:43:44 IST
Load time: 21014
Connect Time: 0
Latency: 0
Size in bytes: 2015
Sent bytes:0
Headers size in bytes: 0
Body size in bytes: 2015
Sample Count: 1
Error Count: 1
Data type ("text"|"bin"|""): text
Response code: Non HTTP response code: java.net.ConnectException
Response message: Non HTTP response message: Connection timed out: connect
HTTPSampleResult fields:
ContentType:
DataEncoding: null
答案 0 :(得分:0)
所以看起来您在应用程序中发现了瓶颈。但是,很难说在提供合理响应时间和错误开始发生时可以提供的最大用户数是多少。
我建议修改如下:
Ramp-up
更改为1秒以上(即让它为500秒,以便JMeter每秒添加一个用户)。我们的想法是逐渐增加 的负载,这样您就可以将增加的响应时间与增加的负载相关联,并且能够准确地确定饱和度和故障点。有关详细信息,请参阅JMeter Ramp-Up - The Ultimate Guide。Loop Count
更改为-1
,以便您的请求永远循环因此,当发生故障时,您至少应该知道以下内容: