歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 什麼是並發連接?

什麼是並發連接?

日期:2017/2/27 15:58:31   编辑:Linux教程
某人問:我有一個總用戶3000的論壇放在VPS上,這個VPS的並發連接數限制在500以下。我是不是要換個並發連接數大點的VPS?
我答:完全沒有必要。

我很奇怪雖然做web開發總是把並發數掛在嘴邊,但是中文圈裡面很少有博文正面回答這個問題——什麼是並發連接數?

姑且就讓我試著解釋清什麼是並發連接數。

什麼是連接?
當你在看這篇文章的時候,是一個連接嗎?基本上不是(除非你的網絡很慢很慢)。

當你進入一個網站,你的浏覽器會有一個不斷旋轉的標志表示正在加載,這個時候,你可以說你發起了一個連接(假設是一個純HTTP文本頁面)。當這個標志不見的時候,表明請求完成,這個連接已經中斷。所以當你在看這篇文章的時候,基本上連接已經中斷了。

什麼是並發連接?
當兩個人同時對一個服務器發起請求的時候,我們可以說這個時候並發連接數為2。

同時這個詞在這裡的定義並不是很精確,假設完成一次請求需要443毫秒,那麼在這個請求發生8毫秒之後發起的另一個請求就不能稱之為並發連接。但是,一個單核的CPU在任何一個時間點上其實只能執行一個任務,如果在這個意義上說的話,並發連接數永遠不會超過CPU的個數。

一般情況下,我們把一秒中完成的請求數定義為並發連接數。
回到那個論壇的問題,一個總用戶數3000的論壇,我們假設同時在線用戶數為300,然後每個用戶在一個小時之內發起30次請求,每次請求花費2s時間(比較合理的假設)。
total_request = 300 * 30 = 9000次
total_time = 9000 * 2 = 18000s
1h = 60 * 60 = 3600s

即在3600s中需要完成9000次請求,其中活躍連接時間為18000s
平均每秒完成請求 = 9000 / 3600 < 3
因為用戶的訪問不是平均的,所以峰值肯定不只為3次/秒,但是我們基本可以肯定這個VPS的並發連接數限制不會成為性能的瓶頸。並且我們注意,如果每個請求完成時間縮短,我們實際產生的並發連接的可能性會隨之降低,反之依然。

我這裡只分析了最簡單的HTTP模型,當面臨可持續連接的時候,還需要考慮更多的因素,這些超出了本文的目的,讀者自行思考。
Copyright © Linux教程網 All Rights Reserved