選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

在 Amazon EC2 上設定您的工作負載,以預防未完成的寫入

焦點模式
在 Amazon EC2 上設定您的工作負載,以預防未完成的寫入 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

支援的執行個體類型 (含支援的磁碟區) 預設啟用預防未完成的寫入。您不需要啟用任何其他設定,即可啟用磁碟區或執行個體,進而預防未完成的寫入。

注意

不會對不支援預防未完成的寫入的工作負載造成效能影響。您不需要為這些工作負載進行任何變更。

確實支援預防未完成的寫入,但未設定為使用它的工作負載,會繼續使用雙寫緩衝區,而且不會獲得任何效能優勢。

若要設定 MySQL 或 MariaDB 軟體堆疊以停用雙寫緩衝區,並使用預防未完成的寫入,請完成以下步驟:

  1. 將磁碟區設定為搭配 BigAlloc 選項使用 ext4 檔案系統,並將叢集大小設定為 4 KiB、8 KiB 或 16 KiB。搭配使用 BigAlloc 與大小為 4 KiB、8 KiB 或 16 KiB 的叢集,可確保檔案系統分配檔案與各自邊界相符。

    $ mkfs.ext4 -O bigalloc -C 4096|8192|16384 device_name
    注意

    對於 MySQL 和 MariaDB,您必須使用 -C 16384 來比對資料庫頁面大小。將分配精密度設定為頁面大小倍數以外的值,可能會導致分配與儲存裝置的預防未完成的寫入邊界不符。

    例如:

    $ mkfs.ext4 -O bigalloc -C 16384 /dev/nvme1n1
  2. 將 InnoDB 設定為使用 0_DIRECT 排清方法並關閉 InnoDB 雙寫。使用您偏好的文字編輯器開啟 /etc/my.cnf,並更新 innodb_flush_methodinnodb_doublewrite 參數,如下所示:

    innodb_flush_method=O_DIRECT innodb_doublewrite=0
重要

如果您使用的是邏輯磁碟區管理工具 (LVM) 或其他儲存虛擬化層,請確定磁碟區的起始位移與 16 KiB 倍數相符。這與基礎 NVMe 儲存體相關,可用來說明儲存虛擬化層所使用的中繼資料標題和超級區塊。如果您新增 LVM 實體磁碟區的位移,可能會導致檔案系統分配與 NVMe 裝置的位移不相符,而這會使預防未完成的寫入失效。如需詳細資訊,請參閱 Linux 手冊頁面中的 --dataalignmentoffset

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。