4 回答

TA貢獻1893條經驗 獲得超10個贊
是的,LAMP環境可以輕松管理每秒超過10k的請求。
這里只有一個建議,而不是使用比服務器性能更好的服務器。在大多數情況下,仍然是性能的更好選擇。Apache2
Nginx
Apache2
Nginx
參考: https://theorganicagency.com/blog/apache-vs-nginx-performance-comparison/
如果想自己做基準測試,你可以使用:https://www.litespeedtech.com/benchmarks/php-hello-world
當您計劃在EC2上部署它時,您可以首先使用m5a.large,后來在普及創建(克隆)一個m5a.large Ubuntu服務器上,并將它們都放在ELB下。
祝你好運!

TA貢獻1796條經驗 獲得超4個贊
PHP腳本同時被這么多人訪問,服務器可以在一秒鐘內數百次寫入我的數據庫嗎?它會對操作進行排隊嗎,它會忽略一些操作,重疊的操作會失敗嗎?
每秒數百個 -- 好吧,幾千個 -- 視情況而定。
對操作進行排隊 - 是的,但這相當快;這些操作將主要并行執行。
忽略一些 -- 不。好吧,如果他們保持隊列很長時間,以至于超過,默認為50秒。(不太可能發生。
lock_wait_timeout
“只是失敗了”——不。
您可能應該計劃有足夠的RAM來處理所涉及的所有數據。(聽起來這不會有問題。如果查詢必須過于頻繁地進入磁盤,這將成為擴展游戲的限制。AWS EC2 使用固態硬盤,對嗎?(硬盤太慢。
是否涉及圖形?這是如何處理的?它是否完全在每個用戶的客戶端瀏覽器中?我問,因為如果重繪屏幕涉及SQL查詢,那可能是一個沉重的負載。
聽起來典型的“會話”是
啟動 PHP
連接到 MySQL
SELECT
用戶信息做一些PHP處理
'更新用戶信息
這將發生,平均每隔幾秒鐘發生一次。一千個用戶這樣做應該很容易實現。
這假設它是一個單人游戲。相反,如果它是一個多用戶游戲,那么“新建的房子”難道不需要向所有其他用戶廣播嗎?

TA貢獻1848條經驗 獲得超6個贊
首先,您可能希望查找以您選擇的語言編寫的“AJAX 服務器”或“遠程過程調用 (RPC) 服務器”包。您實際上并不需要“Web服務器”來完成此特定工作。您可以找到專門針對此目的的更專業、更輕量級的工具。(對于“容器化部署”,通常用于此類任務。
Rackspace等供應商在其網站上非常廣泛地撰寫了有關部署“動態可擴展服務器”的各種方法的文章。我相信他們仍然有一家公司的文章,該公司銷售“足球媽媽”使用的移動應用程序。當沒有人使用該應用程序時,相應的“容器”不會運行。當周末來臨時,每個媽媽都看著她們的小寶貝在田野里跑來跑去,一個可調節數量的容器動態地上線來處理負載......然后最終再次死亡。
所以,是的,你的推理是合理的,你的要求是一個非常普遍的要求。你可以站在巨人的肩膀上。

TA貢獻2019條經驗 獲得超9個贊
這個問題沒有簡單的答案,但對于一個在配置良好的服務器上運行的編寫良好的應用程序,邏輯的執行只需要處理請求所需時間的一小部分 - 響應時間通常由網絡往返時間和與DBMS通信所花費的時間主導。多用戶系統通常無法擴展的地方是處理并發性;程序員認為并行運行的東西需要按順序運行,并且可能使用鎖定來強制執行。因此,編程語言的選擇(只要它不是CGI,其中程序被聲明來處理每個請求)實際上并不重要。
您需要能夠對其中每個操作進行基準測試 - 收集有關客戶端端到端響應時間的數據,并在中心位置(不一定是實時)收集數據,并在應用程序中收集有關數據庫等待時間的指標。
PHP會話可能是一個主要瓶頸 - 還要盡量減少每個請求對數據庫的調用次數。
我見過臃腫的Wordpress安裝努力在3秒內用256Mb的RAM處理請求,并且在合理的規格主機上不支持超過20個并發連接 - 我也見過內容管理系統能夠在10毫秒內處理請求,RAM限制為4Mb。容量大約相差一千倍以上。
- 4 回答
- 0 關注
- 208 瀏覽
添加回答
舉報