1. 程式人生 > >一直再說高併發,多少QPS才算高併發?

一直再說高併發,多少QPS才算高併發?

一直再說高併發,多少QPS才算高併發?業務系統服務,單機,叢集分別是多少呢?

高併發的四個角度

只說併發不提高可用就是耍流氓。可以從四個角度討論這個問題。

首先是無狀態前端機器不足以承載請求流量,需要進行水平擴充套件,一般QPS是千級。 然後是關係型資料庫無法承載讀取或寫入峰值,需要資料庫橫向擴充套件或引入nosql,一般是千到萬級。 之後是單機nosql無法承載,需要nosql橫向擴充套件,一般是十萬到百萬QPS。 最後是難以單純橫向擴充套件nosql,比如微博就引入多級快取架構,這種架構一般可以應對百萬到千萬對nosql的訪問QPS。 當然面向使用者的介面請求一般到不了這個量級,QPS遞增大多是由於讀放大造成的壓力,單也屬於高併發架構考慮的範疇。

PV和QPS

比如微博每天1億多pv的系統一般也就1500QPS,5000QPS峰值。

比如有人說:

  • 2C4G機器單機一般1000QPS。
  • 8C8G機器單機可承受7000QPS。

寫在後面

具體多少QPS跟業務強相關,只讀介面讀快取,將壓力給到快取單機3000+沒問題,寫請求1000+也正常,也複雜些可能也就幾百+QPS。

所以QPS和業務場景和設計相關性很大,比如可以通過瀏覽器本地快取,用快取做熱點資料查詢,寫事務MQ非同步處理