2012-06-21 54 views
1

有沒有一種合適的方法,方程式或技術可以說:「我的web應用程序需要支持N總用戶數,通過此公式/技術/ rockHardExperience告訴我需要支持X併發頁面請求的數量「?總註冊用戶數和併發用戶數

從我的研究和/或直覺好像它會是這樣的:

totalLoadCapabilityRequired = (totalUsersN x .10) * .5

where .10 is for roughly 10% on at any given time

and the whole thing multiplied by 50% to suggest a 50% chance of those total users online executing a request at roughly the same time

任何見解將幫助我確保我實現在我的應用程序中支持這種需求。我希望有很多用戶,但不想過早地預測。我知道,對於初學者來說,我正在編程的組織將擁有45,000個用戶,他們希望使用我的系統,並期待更多的成功。

+0

答案很大程度上取決於這些用戶將使用您的系統。是否每天查看一些東西?他們是否打電話給中心代表,他們會在工作日期間不斷使用您的系統? –

+0

麻煩在於你會有不同程度的奉獻 - 儘管我已經註冊了兩種系統 - 不同級別的系統緊張 - 我使用SO的次數比我使用LinkedIn的次數多得多 - SO是_highly_ dynamic並且運行許多查詢每個頁面加載,我自己的網站是如此靜態,它可以從CD-ROM驅動器... – sarnold

+0

哈哈,爲了試圖澄清它的一個高度動態的網絡應用程序,我期望每人每天一次或兩次擊中視線持續15-20分鐘。 – Ryan

回答

2

這裏有一對夫婦的事情要考慮:

  1. 什麼是時間跨度,在此你希望你的大部分訪問?如果是同一實體公司內的辦公應用程序,則您的容量規劃應以8小時爲基礎。如果大多數訪問來自同一個大陸,您可以計劃12小時的時間,等等。

  2. 你預計哪些頁面最受歡迎,這些頁面有多大(即你可以在一秒鐘內加載多少頁面)?瞭解將從緩存中受益的部分,以擠出更多性能。

  3. 不要根據峯值負載進行規劃;設計你的應用程序來擴展並從小開始。

  4. 以一種方式設計您的應用程序,您可以在每第500次請求時運行快照;您可以使用諸如xhprof之類的工具來創建可通過cachegrind工具運行的文件,以分析運行時的性能。

總之,有沒有包羅萬象的公式:)一個大概的數字公式可能會不夠好,而是採取了以上幾點考慮。

+0

感謝這真的很有幫助,基本上我找到了一個非常酷的機會,我想確保我做對了。 – Ryan

+0

我看到如果沒有做一些實施依賴性實驗,似乎沒有真正的好答案。 – Ryan

+0

@Ryan做實驗有助於提高結果的可靠性,所以這總是一個好主意:) –