一直再說高併發,多少QPS才算高併發?
阿新 • • 發佈:2019-06-23
一直再說高併發,多少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非同步處理