如何在 Ubuntu 24.04、22.04 或 20.04 上安裝 Siege

Siege 是一個強大的基準測試工具,用於測試負載下 Web 伺服器的效能和穩定性。它允許您模擬多個用戶同時訪問您的網站,為您的伺服器如何處理高流量提供有價值的見解。 Siege支援基本的HTTP/HTTPS協議,可以執行GET、POST等請求方法。它廣泛用於壓力測試、效能調整和確保 Web 應用程式能夠處理尖峰負載。

要在 Ubuntu 24.04、22.04 或 20.04 上安裝 Siege,您有兩個主要選擇:使用命令列終端從 Ubuntu 預設儲存庫安裝,或直接從來源下載並安裝 Siege 以獲得最新版本和附加功能。本指南將引導您完成這兩種安裝方法。

安裝 Siege 之前更新 Ubuntu

確保您的 Ubuntu 系統使用最新的軟體包,對於維護高效、安全和可靠的運算環境至關重要。當我們執行命令時 sudo apt update,系統的包列表被刷新。

這是執行此操作的命令:

sudo apt update && sudo apt upgrade

選擇Siege安裝方法

選項 1:透過 Ubuntu 預設儲存庫安裝 Siege

Siege 作為一個方便的基準測試工具包含在 Ubuntu 的預設儲存庫中。這大大簡化了安裝流程,讓我們可以使用Ubuntu內建的套件管理工具(APT)來進行安裝。

命令 sudo apt install siege 會觸發 APT 系統在儲存庫中搜尋 Siege 軟體包、處理依賴項並在您的系統上安裝 Siege。開頭的「sudo」是必要的,因為它允許使用 root 權限執行命令,這是系統範圍安裝所必需的。

若要安裝 Siege,請輸入以下命令:

sudo apt install siege 

選項 2:透過原始碼在 Ubuntu 上安裝 Siege

對於喜歡了解最新功能和改進的個人來說,從原始碼編譯 Siege 是最佳選擇。此方法需要取得最新的原始程式碼並手動編譯它,以確保您擁有最新版本的 Siege。

下載最新的 Siege 原始碼

首先,您需要取得最新的原始碼。 Siege 團隊提供了最新版本的一致鏈接,簡化了此過程。但是,確保連結隨著時間的推移保持有效始終是一個好習慣。

若要下載最新的原始程式碼,請開啟終端並執行以下命令:

wget http://download.joedog.org/siege/siege-latest.tar.gz

提取和準備原始碼

下載完成後,下一步是提取已存檔的內容。執行以下命令來實現此目的:

tar -xvf siege-latest.tar.gz

這個指令會將 Siege 原始碼解壓縮到一個目錄中。使用以下命令導航至該目錄:

cd siege-*/

值得注意的是,確切的目錄名稱可能因不同的 Siege 版本而異。在繼續操作之前,請確保您位於正確的目錄中。

在深入了解編譯過程之前,建議 安裝 zlib 包,這有助於資料的壓縮和解壓縮:

sudo apt install zlib1g-dev

編譯並安裝 Siege 二進位文件

現在,您將在 Siege 來源目錄中啟動編譯和安裝程序。下面的命令序列將配置建置設定、編譯原始碼,然後在您的 Ubuntu 系統上安裝 Siege:

./configure --with-zlib
make
sudo make install

這些命令配置建置選項、編譯原始碼並在 Debian 系統上安裝 Siege。

驗證 Siege 安裝

安裝後,必須驗證 Siege 是否已正確安裝。此外,檢查安裝的版本可以深入了解其與特定功能或插件的兼容性,並通知您未來是否需要更新。

若要確定係統上安裝的 Siege 版本,請執行下列命令:

siege --version

在 Ubuntu 上配置 Siege

正確配置 Siege 對於使其發揮最佳功能並充分利用其功能至關重要。此過程涉及修改位於主目錄中的 Siege 設定檔 .siegerc。

找到 Siege 設定檔

siegerc 檔案是一項重要資產,可作為 Siege 操作的控制中心。它包含大量決定工具行為的參數。這些參數包括模擬使用者的數量、請求之間的延遲以及日誌記錄等級。

讓我們先探索現有的 siegerc 檔案。您可以透過執行 cat 命令來完成此操作:

cat /etc/siege/siegerc

配置 Siege 設定檔

您需要使用文字編輯器開啟該檔案來更改 Siege 配置以符合您的特定用例。在本指南中,我們將使用 Nano,因為它的使用者友善性和簡單性。

以下命令可讓您在 Nano 文字編輯器中開啟 siegerc 檔案:

sudo nano /etc/siege/siegerc

該文件是可配置選項的寶庫,但我們將重點放在一些更常用的參數:

  • verbose:決定是否顯示詳細輸出(true)或不顯示(false)。
  • csv:指示輸出是否應採用 CSV 格式(true)或不採用(false)。
  • 並發:指定負載測試的模擬使用者數。
  • time:確定負載測試的持續時間。
  • 延遲:設定每個使用者請求之間的時間延遲。
  • 網路:透過點擊網站上的隨機 URL(正確)或否(錯誤)來模擬使用者行為。
  • benchmark:允許 Siege 作為基準測試工具運行(true)或不允許(false)。

例如,如果要模擬25個用戶,每個用戶每秒發送一次請求,測試持續1小時,則需要修改相關參數如下:

verbose = false
csv = true
concurrent = 25
time = 1H
delay = 1S
internet = false
benchmark = false

完成所需的更改後,按 Ctrl+X 儲存並退出,然後按 Y 確認儲存更改,然後按 Enter。

Ubuntu 上使用 Siege 進行 HTTP 負載測試

現在我們已經安裝並配置了 Siege,讓我們探索一些實際範例,讓您具體了解工具的工作原理。在這些演示中,我們將對您的 Web 伺服器進行壓力測試,模擬大量請求,這與 DDoS 攻擊不同。

這對於了解您的網站如何處理大流量非常有價值。但是,請獲得必要的權限並負責任地使用這些工具。理想情況下,它們應該只在您的伺服器上使用。

使用 Siege 進行 BenchMark 負載測試網站

首先,應用 Siege 使用預設數量的模擬使用者(也稱為「工作人員」)(即 25 個)來測試網站。這是透過使用 -t 1m 標誌來實現的,如下面的命令所示:

siege https://www.example.com -t 1m

一旦您執行此命令,Siege 將開始壓力測試,模擬 25 個並髮用戶向您的網站發送請求,持續 1 分鐘。測試結束後,Siege 將提供詳細的結果報告。

請記住,執行測試以獲得更有意義和更準確的見解通常最好持續 5 到 15 分鐘。 1 分鐘的持續時間僅用於演示目的。

要增加工作線程的數量,您可以使用 -c 標誌,後面跟著所需的數量。例如,要模擬 100 個工作人員,請使用 -c 100 標誌:

siege https://www.example.com -c 100 -t 2m

使用 Siege 對多個網站進行壓力測試

如果您是系統管理員或管理多個網域,您會很高興知道 Siege 可以同時處理多個網站。這可以透過設定檔 /etc/siege/urls.txt 來實現,Siege 可以使用該檔案來確定對哪些網站進行壓力測試。

要配置此文件,請使用開啟它 nano:

sudo nano /etc/siege/urls.txt

然後,插入要進行壓力測試的網站的 URL:

https://www.example.com
https://www.example2.com
http://192.168.50.1

若要儲存這些變更並退出,請按 Ctrl+O、Enter,然後按 Ctrl+X。

最後,要啟動指定網站的壓力測試,請執行以下命令:

siege -f /etc/siege/urls.txt

Ubuntu 上的其他 Siege 指令

Siege 不僅是用請求轟炸你的伺服器;它是一個多功能工具,提供許多選項,可讓您自訂測試方法。從控制並髮使用者數量到調整每個請求之間的延遲,Siege 的命令選項可讓您模擬各種場景。

本節將讓您熟悉其他 Siege 指令,這些指令可讓您進行更細緻、更精細的測試。

透過 Siege 控制請求之間的延遲

使用 Siege,您可以在每個使用者的請求之間引入延遲,以模擬更真實的使用者行為。這可確保請求不會不間斷地連續發送。

例如,在下面的命令中:

siege https://www.example.com -c 50 -d 5

Siege 被指示對具有 50 個同時使用者的指定網站進行壓力測試,在每個使用者的請求之間引入 5 秒的延遲。

使用 Siege 自訂 HTTP 方法和標頭

Siege 可讓您自訂壓力測試的 HTTP 方法和標頭。例如,您可能想要發送帶有自訂標頭的 POST 請求。 -H 標誌可讓您設定自訂標頭,而 –method 選項可讓您設定 HTTP 方法。以下是如何使用這些選項:

siege --method="POST" -H "Content-Type: application/json" https://www.example.com

在上面的命令中,我們使用 POST 方法並將請求的 Content-Type 標頭設定為 application/json 。

使用 Siege 記錄結果

您可能需要記錄壓力測試結果以進行進一步分析或保存記錄。 Siege 可以將測試結果寫入日誌文件 -l 選項:

siege -l https://www.example.com

該命令告訴 Siege 記錄壓力測試結果。預設情況下,Siege 將日誌寫入您的主目錄中名為 siege.log 的檔案中。

結束語

在您的 Ubuntu 系統上成功安裝 Siege 後,您可以有效地對您的 Web 伺服器進行基準測試和壓力測試。無論您選擇方便的 Ubuntu 預設儲存庫還是直接從來源安裝的靈活性,Siege 都提供了可靠的工具集,可確保您的 Web 應用程式在負載下以最佳效能運作。定期更新 Siege 以利用新功能和改進,並用它來維護 Web 伺服器的穩定性和效能。

Joshua James
跟我來
Joshua James 的最新帖子 (看全部)

發佈留言