一步一步打造WebIM(3)——效能測試

來源:互聯網
上載者:User

WebIM系列文章

在一步一步打造WebIM(1)和(2)中,已經討論了如何開發一個WebIM,並且使用緩衝來提高WebIM的效能,本文將編寫一個程式類比大量使用者登入來對WebIM進行效能測試。

1.200個使用者同時線上

測試一將類比200個使用者同時登入的聊天室,每個使用者以1條訊息/秒的速度發送訊息(由於網路和伺服器處理延遲,可能多於1秒)

環境參數

作業系統:Window Server 2003

記憶體:2G

CPU:AMD Athlon(tm) 64 X2 Dual 2.4GHz

伺服器:IIS6

資料庫:SQLite

訊息緩衝數量:200

測試過程

測試結果

測試結果解析

測試程式啟動了200個接收線程和200個發送線程(以1條訊息/秒的速度發送訊息,連續發50條),根據測試結果顯示,發送訊息的平均延遲大概為1000ms(即從用戶端發送訊息到伺服器將訊息寫到緩衝中大概要1000ms),接收訊息的平均延遲為大概600ms(伺服器將訊息寫到緩衝600ms後,使用者才在瀏覽器中接收到該訊息)。由於每一個使用者都會接受到其它199個使用者的訊息,因此,200個接受線程如果訊息完全接收,應該有200*50*200 = 2000000條訊息,顯然,當發送訊息的200個線程結束時,接收訊息的線程仍然沒有結束。由於發送訊息的平均延遲大概為1000ms,因此,相當於200個使用者同時以1條訊息/2秒的頻率向聊天室發送訊息。

2.500個使用者同時線上

測試一將類比500個使用者同時登入的聊天室,每個使用者以1條訊息/秒的速度發送訊息(由於網路和伺服器處理延遲,可能多於1秒)

環境參數

作業系統:Window Server 2003

記憶體:2G

CPU:AMD Athlon(tm) 64 X2 Dual 2.4GHz

伺服器:IIS6

資料庫:SQLite

訊息緩衝數量:200

測試過程

測試結果

測試結果的意義和測試1類似,因此不做詳細解析

從以上測試來看,同時線上人數達到500時,延遲還是比較大的

 

測試程式及WebIM原始碼下載

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.