記一次壓力及併發測試過程

開始用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的痛點在哪裏,爲何會痛,根據需求該加緩存加緩存,該加索引加索引,該提升配置提升配置,該分佈式就分佈式。

關於具體的調優方法,下個文章再見吧

相關文章
相關標籤/搜索