close

在近年的工作中,最常遇到的問題,就是辛苦開發出來的程式,當真的放到網路上去時,可以承受多少人同時連進來?超過這個人數的話,要怎麼處理?這一類的問題,是在最近幾年中,最常被老闆問到的問題。

關於上述的問題,要找到答案之前,必須先定義好一些前提,畢竟軟體是建立在硬體上的,所以硬體配備的好壞,直接影響了軟體的運作速度。我們必須先定義好我們的程式運行環璄的硬體,關於這一點,如果公司沒有明確的定義的話,建議大家可以直接上網搜尋關鍵字「AWS EC2 Price」來參考一下,在AWS上的各種硬體配備,有其對應的價格,可以當作參考。

當硬體決定下來後,才能開始使用像JMeter之類的軟體來進行壓力測試;不過做完JMeter後,只是開頭問題的第一步「可以承受多少人同時連進來?」的答案而己,至於第二個問題:「超過這個人數的話,要怎麼處理?」的答案,以筆者個人的經驗,只有二個解法:

  1. 擴充硬體配備。

  2. 大架構的設計。

第一個解決方法是最簡單,不過在實際運行上,會有搭配硬體上限的問題,就跟我們的桌上型電腦或筆電一樣,假設今天不考慮錢的問題,我們想要擴充桌上型電腦的記憶體到1T,但實際上拆開電腦機殼後,看到我們的主機版上,最多只能插4條記憶體,再假設目前市面上每條記憶體最大到128G,所以我們電腦上的主機版最多可以擴充到512G,而無法跟我們想像的,可以昇級到1T,這就是一般所遇到硬體限制。

所以建議的解決方式,是利用大架構的規劃設計,就是透過同時啟動多台機器,來達到服務更多人的目的。不過這個問題,對程式設計師來說,最想知道的只有一點:「我們需要改程式嗎?」。

沒錯,這個問題才是程式設計師想知道的,不過,當你想知道這個問題的答案時,你免不了要先瞭解大架構的設計概念,但是,在談大架構之前,我們必需先來復習一下,HTTP資料的儲存方式與它的生命週期,因為這個也是跟大架構有關係的。

下一篇我們來談談伺服器儲本身儲存資料的三種方式。

arrow
arrow

    JAVA Programmer 發表在 痞客邦 留言(0) 人氣()