[翻譯] 如何估算記憶體需求

作者: PsMonkey (痞子軍團團長)   2014-03-23 23:49:00
原文網址:https://plumbr.eu/blog/how-to-estimate-memory-consumption
譯文網址:http://blog.dontcareabout.us/2014/03/blog-post.html
BBS 用 markdown 語法撰寫
______________________________________________________________________
這個故事得從十年前開始說起,
那時我第一次接觸到一個[尖頭老闆]的問題:
「我們的產品要佈署的時候,需要買多好的 server?」
在產品發表之後,我們花了九個月的時間打造了一個金光閃閃的新系統,
顯然公司已經承諾要提供整個解決方案,包含硬體的部份。
囧... 我麻煩大了。
我只有短短幾年的經驗,回答這問題跟丟骰子沒啥兩樣。
雖然我看起來整個就是缺乏信心,不過我仍然得生出一個答案。
在 google 了四個小時後,眼花撩亂的腦袋裡仍然是相同的問題:
「如何估算所需的運算能力?」
在這篇文章中,我先用「如何估算記憶體需求」這個題目,
讓你在寫 Java application 時有個初步的準則。
如果你沒啥耐心看完,答案是先用「即時資料佔用的記憶體量」乘上 5 倍,
然後以此作為微調起點。
想知道背後的邏輯,那就繼續看下去,我會一步一步推導。
首先,我只能建議在取得詳細的資訊之前,避免回答這類的問題。
你必定得根據效能需求來回答這類問題,
所以在釐清這些東西之前甚至不應該開始。
我說的也不是「這個系統要能同時承受 700 個使用者」這種曖昧的內容,
而是大量特定的資訊,例如延遲時間、throughput、
計算資料的數量、使用模式等等。
而且還不要忘記預算這檔事。
大家都會夢想有著次 ms 等級的延遲度,
但沒有大財團等級的預算,那抱歉,它只會是一個幻想。
現在讓我們假設你已經有這些需求了。
下一步是建立負載測試碼來模擬使用者行為。
如果你現在能夠同時啟動這些程式碼,這就是你回答問題的基礎。
As you might also have guessed,
the next step involves our usual advice of measuring not guessing.
But with caveat.
即時資料的大小

Links booklink

Contact Us: admin [ a t ] ucptt.com