服務(wù)器為4核8G,5M帶寬,Mysql8.0,redis都在一臺(tái)服務(wù)器上。
用 webman 寫了一個(gè)接口,只有一個(gè)DB查詢列表,并且結(jié)果使用了redis緩存。
ab 測試 1000個(gè)請求,100個(gè)并發(fā),
結(jié)果RPS只有 140左右
請問這個(gè)結(jié)果正常嗎?
香港服務(wù)器?你的服務(wù)器網(wǎng)絡(luò)太慢了
Connect連接平均耗時(shí)539ms,處理耗時(shí)151ms,等待138ms。
另外走外網(wǎng)壓測都慢,因?yàn)橛芯W(wǎng)絡(luò)延遲啊,瓶頸在網(wǎng)路,你看服務(wù)器cpu什么的應(yīng)該都不高。
拿1個(gè)并發(fā)來舉例,壓測過程是發(fā)起1個(gè)請求,假設(shè)等待網(wǎng)絡(luò)傳輸800毫秒才收到響應(yīng),然后再發(fā)下一個(gè)請求。這樣算下來1個(gè)并發(fā)QPS就大概是1/0.8=1.25QPS,那么100個(gè)并發(fā)也就大概125QPS。
這種情況想提高壓測的QPS就要加大并發(fā),比如加到1000并發(fā),QPS應(yīng)該能提高一些,1000并發(fā)差不多5M帶寬也打滿了。
如果想知道你服務(wù)器實(shí)際能承受的壓力,需要走內(nèi)網(wǎng)壓測,或者127.0.0.1壓測,這樣才能把cpu打滿。