すべてのプロダクト
Search
ドキュメントセンター

:単一行ホットスポット更新テスト

最終更新日:Jun 21, 2026

このトピックでは、ApsaraDB RDS for MySQL における単一行ホットスポット更新のパフォーマンステストの方法と結果について説明します。

Inventory Hint を使用すると、ApsaraDB RDS for MySQL における単一行ホットスポット更新のパフォーマンスを向上できます。詳細については、「Inventory Hint」をご参照ください。

テスト環境

このテストでは、2 つの ApsaraDB RDS for MySQL インスタンスを使用します。具体的には、インスタンスタイプ rds.mysql.st.v52 の High-availability Edition インスタンスと、インスタンスタイプ mysql.st.12xlarge.25 の Enterprise Edition インスタンスです。

  • インスタンスバージョン:MySQL 5.7

  • インスタンスタイプ:90 コア、720 GB (専用ホスト)

  • RDS エディション:High-availability Edition および Enterprise Edition

  • ストレージタイプ:ローカルディスク

  • テンプレート:高性能パラメータテンプレート

テストデータ

このテストでは、100 行を含む単一のテーブルを使用します。テーブルスキーマは次のとおりです。

CREATE TABLE `sbtest1`
(
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT
,`k` INT(10) UNSIGNED NOT NULL DEFAULT '0'
,`c` CHAR(120) NOT NULL DEFAULT ''
,`pad` CHAR(60) NOT NULL DEFAULT ''
,PRIMARY KEY (`id`)
,KEY `k_1` (`k`)
)
ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT
CHARSET=utf8 MAX_ROWS=1000000

テストスクリプト

スクリプトは、id=100 の行に対して同時更新を実行します。

UPDATE sbtest1 SET k=k+1 WHERE id=100

このテストでは、次の Lua スクリプトを使用します。

pathtest = string.match(test,"(.*/)")
if pathtest then
 dofile(pathtest .."common.lua")
else
 require("common")
end
function thread_init(thread_id)
 set_vars()
end
function event(thread_id)
 local table_name
 table_name ="sbtest".. sb_rand_uniform(1, oltp_tables_count)
 rs = db_query("begin")
 rs = db_query("update /*+commit_on_success rollback_on_fail target_affect_row(1) */ sbtest1 SET k=k+1 WHERE id=100")
 rs =db_query("commit")
end

テスト結果

インスタンスタイプ

単一行更新の最大 TPS

RDS High-availability Edition

12,000

RDS Enterprise Edition

30,823

図 1. Enterprise Edition のテスト結果

OLTP test statistics:
    queries performed:
        read:                            0
        write:                           1865967
        other:                           3731934
        total:                           5597901
    transactions:                        1865967 (30822.67 per sec.)
    read/write requests:                 1865967 (30822.67 per sec.)
    other operations:                    3731934 (61645.34 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)