需求
“假設一個系統的業務有登錄、瀏覽帖子、發送新貼、回復帖子,訪問高峰是上午10點,日訪問高峰PV約5208(含登錄1300、瀏覽2706、發帖526、回帖676)。系統響應時間要求小於3s,試計算此系統的tps以及並發數”
每秒的PV量並不直接等同於TPS,因為一次客戶請求可能包含了很多資源請求。如果我們不關心頁面刷新時請求資源的耗時,此時我們就把每秒PV等同於TPS;
估算tps=5280/3600=1.5嗎? 業務量一般要取系統業務高峰的值,才能代表系統的實際處理能力;
可以按照二八原則。即80%的業務在20%的時間內完成,TPS=(5208*80%)/(3600*20%)=5.8
估算並發數(由tps進行估算,由在線活動用戶數估算,根據經驗估算)
這里我們采用第一種方法
TPS=事務數/時間,假設所有的事務都來自不同的用戶,那么並發數=事務數=tps*時間。
vu=tps*(runtime+thinktime);vu表示此業務的虛擬用戶數,即並發數;runtime是測試程序/腳本運行一次所消耗的時間,包含事務時間+非事務時間。thinktime是模擬用戶思考或者填寫表單消耗的時間;
得出並發數=5.8*13=75.4 取整76
由於我們計算並發數,取得是系統的tps(登錄,瀏覽,發帖,回帖),實際計算出來的並發是系統業務的總並發數,需要按比例分配到不同的業務中
每個業務模塊的TPS計算公式=(高峰業務量*80%)/(訪問時間*20%)
並發數目前還是估值,具體還是需要在性能測試執行時需要根據實際情況調整。衡量性能的指標還要參考tps實際達到了多少,響應時間是多少,系統硬件(cpu、內存等)指標是否限定范圍內等要求;