簡體   English   中英

NodeJS + MySql 與大並發訪問

[英]NodeJS + MySql and large concurrent access

所以我一直在寫這個 NodeJS Quiz App。 起初我們並沒有期望有那么多用戶,但隨着時間的推移,我們會看到大約 50000 名潛在注冊用戶。 考慮到選擇的數據庫是 MySql,同時考慮到不是所有的注冊用戶都會同時登錄,最大並發 MySQL 連接數是多少? 另外,我需要多少內存和 CPU 來托管這個應用程序?

當您使用 node.js 時,您可以簡單地使用連接池,池沒有明顯的缺點,但是您建立的連接要少得多(並且開銷也更少)。

此外,這一切都取決於實際執行了多少查詢以及他們需要多少執行時間,這里有一些補充數字:

假設有 50k 個用戶同時在線,每個用戶每 5s 進行 1 次交互,執行需要 10ms DB 時間,則需要 50k * 10ms / 5s = 100 個並發連接。

當然,您需要考慮一些實數,讀寫比率很重要(讀取可能並行運行),如果讀取構成大量查詢,則緩存可以提供很大幫助。

總而言之,如果您所做的只是在每次交互中進行一些簡單的選擇和插入,那么您不太可能需要太多。

PS 這篇文章給出了一些有趣的數字:使用連接池,5k 連接 = 100k 並發用戶。 當然他/她沒有提到他/她的負載類型,但是你可以看到(並發/連接線程)在連接池到位的情況下可以達到數十和數百。

您可以將 mySQL 的最大全局連接設置為 10,00,000。 對於硬件要求,下面的鏈接可以幫助您。

https://www.percona.com/blog/2019/02/25/mysql-challenge-100k-connections/

如果不讓我知道,希望你能得到你的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM