记一次压力及并发测试过程

开始用postman进行测试,发现仅仅只是串行执行,并不是并发执行。php

逐改用jmeter进行测试,安装方法就很少写了,注意此软件须要java环境支持,须要安装jdk才行。具体方法请百度。java

到安装目录bin下双击jmeter.bat顺利打开软件。nginx

首先建立线程组。api

此处有以下三个参数需手动填写。第一个是要并发的线程数。第二个算是启动时间,好比写5秒的话会每秒启动100个线程,第三个是次数,也能够勾选永远。缓存

而后继续建立http请求(请求可建立多个同时进行模拟实际状况,好比app的登陆+获取基础信息等)并发

分为协议,域名,端口,地址,请求方法等。可按照本身需求进行填写。app

继续建立监视器,经常使用的有以下几个,其余可自行熟悉分布式

准备工做完毕,准备启动测试。post

运行有两种方式,左边红圈是单个,右边的是你所设置的所有。测试

能够再view results tree里查看请求/响应等参数

菜单上面的开始,中止,清除等按钮自行脑补。。

测试前也须要作好nginx的配置。如worker数,链接数,各类日志等。

worker_processes  auto;

worker_connections  10240;

下面内容nginx日志就是链接数小了,nginx吃不下这些请求值报错了。改改便可。

2019/07/15 14:16:28 [alert] 11961#0: 1024 worker_connections are not enough
2019/07/15 14:16:28 [alert] 11961#0: 1024 worker_connections are not enough
2019/07/15 14:16:28 [alert] 11961#0: *55836 1024 worker_connections are not enough while connecting to upstream, client: 124.202.230.89, server: localhost, request: "POST /bastion.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "39.100.93.37:8001"

而后就是看看每一个api的痛点在哪里,为何会痛,根据需求该加缓存加缓存,该加索引加索引,该提升配置提升配置,该分布式就分布式。

关于具体的调优方法,下个文章再见吧

相关文章
相关标签/搜索