1

我有一個在Mongrel服務器上運行的RoR 2.1 Web應用程序,現在我想計算Web應用程序的併發用戶和高峯併發用戶的平均數。Web應用程序的平均併發和高峯併發用戶數

是否有明確的方法來解決這個問題,或者我應該使用什麼樣的分析來計算?

我的應用程序的後端是MySQL,我試圖在Mysql Status中查找Threads_connectedThreads_created的值。此值返回當前打開的連接數和爲處理連接而創建的線程數。

這些值是否直接暗示當前連接用戶的數量?如果不是,請提出計算這些值的方法。

回答

0

你只能有儘可能多的併發用戶,你有雜種流程,Rails是一個單線程的,除非你叫線程配置時,您的應用程序(但你永遠不應該這樣做,除非你真的瞭解這樣做的含義) 。

+0

這是併發請求,它不是完全相同的併發用戶。如果你有1000個人,每30秒加載一個頁面,我會認爲這是1000個併發用戶,但你可以用10個mongrels來處理(假設每個用戶可以做3個請求/秒) – 2011-12-21 12:07:36

+0

併發用戶假設有平均信息加載時間,用戶需要的平均請求數量,這個問題中沒有一個是可用的,他正在尋找MySQL上的線程,所以我的猜測是他正在尋找到他的機器的併發請求。 – 2011-12-21 12:09:25

+0

@FrederickCheung:那麼你可以建議在應用程序中獲得併發用戶數量的近似數字。是否與否。雜種進程?我怎樣才能在特定時間獲得雜種進程的數量? – 2011-12-21 12:43:31

1

MySQL統計數據反映了連接到數據庫的進程數量,所以如果你有10個mongrels,那麼你可能會看到10個(加上你連接到數據庫的任何進程(腳本,守護進程,控制檯會話等) )。這不會改變是否有100個用戶使用該網站或沒有(除非你有東西擴展的進程數)

就用戶數量而言,谷歌分析可以給出這種事情的好主意或分析您自己的日誌文件,具體取決於您所需的複雜程度。

像newrelic或union central這樣的服務,如果最終目標是找出您需要的服務器資源,那麼這樣的服務是很好的。