使用 Ubuntu AMI 在 EFS 磁碟區掛起 Apache 請求

使用 Ubuntu AMI 在 EFS 磁碟區掛起 Apache 請求

我注意到我在 AWS(eu-south-1 區域)上建立的用於評估目前提供者遷移的設定出現了奇怪的行為。我想部署 1-n 個 EC2 實例,透過 Apache 處理 Web 請求,並處理儲存在公共 EFS 磁碟區上的檔案。我已經實現並測試了RDS部分、PHP性能、ElasticCache整合等。然而,我注意到零星請求有 5 秒的延遲,這種延遲看起來非常確定,並且太接近 5 秒的值。 EFS卷處於突發模式,信用量很高(2T)且使用百分比確實很低,所以這應該不是問題。

我使用建議的選項安裝了 EFS 卷,同時使用“EFS 安裝助理”和“NFS 用戶端”,沒有任何變化。因此,我嘗試從頭開始,僅安裝預設的 Apache Web 伺服器(甚至嘗試使用 Nginx 獲得類似的結果),並使用以下命令安裝 EFS 磁碟區並從另一個 EC2 執行個體進行基準測試:

siege -c 2 -r 20 -b http://35.152.48.17/efs-mount-point/efs-test/logo.png

對於 Ubuntu 18.04 和 Ubuntu 20.04,最長事務始終高於 5 秒(5.12 - 5.42 秒)。如果使用 AmiLinux,最長的事務就夠快了(0.15 秒)。有趣的是,如果我將並行客戶端從 2 個減少到 1 個:

siege -c 1 -r 20 -b http://35.152.48.17/efs-mount-point/efs-test/logo.png

即使我讓「siege」運行更多次重複,最長的事務在 Ubuntu 上也可以:

siege -c 1 -r 10000 -b http://35.152.48.17/efs-mount-point/efs-test/logo.png

但是,如果我們刪除 Ubuntu 上的 EFS 變數並從本地 EBS 提供文件,則最長的事務速度非常快(幾毫秒),因此問題僅出現在 Ubuntu 上的 EFS(18.04 和 20.04)上。也許建議的安裝選項適用於 AmiLinux,但缺少適用於 Ubuntu AMI 的選項?

重現步驟非常簡單,讓我覺得很奇怪:

  1. 選擇 Ubuntu 18.04 AMI;
  2. 安裝 EFS 磁碟區(使用「EFS 安裝助理」或使用 NFS 用戶端);
  3. 安裝 Apache,僅更新服務目錄。

有什麼建議嗎?

答案1

我終於找到解決方案了。

該問題僅發生在內核「5.4.0-1029-aws」和「5.4.0-1032-aws」。該問題似乎在“5.4.0-1034-aws”和“5.4.0-1035-aws”核心版本中已解決。

所以,你只需要升級核心:

sudo apt-get-update
sudo apt-get install linux-image-5.4.0-1035-aws

然後,重新啟動後,您應該已經安裝了新核心。使用以下命令檢查它:

uname -r

您應該會看到這個結果:

5.4.0-1035-aws

那你就不應該再有延遲了。

相關內容