- 一般使用TPS( 每秒事務處理量(TransactionPerSecond))來承載併發的概念
- 通常所說的併發都是指服務端的併發,而不是指壓力機上的併發線程數,因爲服務端的併發纔是服務器的處理能力
- 爲了能 hold 住更多的用戶,通常都會把一些數據放到 Redis 這樣的緩存服務器中。因此對於一個設計邏輯清晰的系統來說,可以直接拿緩存的內存來計算,如一個用戶進入系統需要10k內存來維護一個用戶的信息,那麼10G內存就能hold住1048576個用戶數據,這就是最大的在線用戶數,一般會將超時放在一起考慮。
- 對應關係
- 計算邏輯:
①.如果有 10000 個在線用戶數,同時併發度是 1%,那顯然併發用戶數就是 100
②.如果每個線程的 20TPS,顯然只需要 5 個線程就夠了(請注意,這裏說的線程指的是壓力機的線程數)
③.這時對 Server 來說,它處理的就是 100TPS,平均響應時間是 50ms。50ms 就是根據 1000ms/20TPS 得來的(這裏 說的平均響應時間會在一個區間內浮動,但只要 TPS 不變,這個平均響應時間就不會變)
④.如果我們有兩個 Server 線程來處理,那麼一個線程就是 50TPS