MySQL 8.0.35でのパフォーマンスの向上 (2023/11/27)

MySQL 8.0.35でのパフォーマンスの向上 (2023/11/27)

https://blogs.oracle.com/mysql/post/performance-improvements-in-mysql-8035

投稿者:Seema Sundara | Architect, MySQL HeatWave


MySQL 8.0.35でのパフォーマンスの向上


MySQLチームは最近、Community Editionよりも8.0.35バージョンのMySQL Enterprise Editionのパフォーマンスを大幅に向上させる変更を実装しました。




ベンチマーク


sysbenchは、特にMySQLのデータベース・ベンチマークに広く使用されているツールです。sysbenchの適応を使用して、MySQLデータベースで様々なOLTPワークロードを実行しました。この設定では、4つの異なるsysbenchテストが実行され、それぞれが特定のOLTPワークロード特性を取得します。


1.OLTP RO: これは読取り専用モードであり、UPDATE、DELETEまたはINSERT問合せは実行されません。問合せの組合せは、次のもので構成されます。

  * 10 x POINT_SELECT

  * 1 x SELECT_SIMPLE_RANGES

  * 1 x SELECT_SUM_RANGES

  * 1 x SELECT_ORDER_RANGES

  * 1 x SELECT_DISTINCT_RANGES


2. POINT_SELECT: ポイント選択SQL問合せが多数あります。


3.OLTP RW: これは、読取りSQL問合せと書込みSQL問合せの両方を組み合せたものです。問合せの組合せは、次のもので構成されます。

  * 10 x POINT_SELECT

  * 1 x SELECT_SIMPLE_RANGES

  * 1 x SELECT_SUM_RANGES

  * 1 x SELECT_ORDER_RANGES

  * 1 x SELECT_DISTINCT_RANGES

  * 1 x UPDATE_KEY

  * 1 x UPDATE_NO_KEY

  * 1 x UPDATE_KEY

  * 1 x INSERT

  * 1 x DELETE


4.UPDATE_KEY: これには、索引を更新する多数のSQL問合せがあります。




方法


  • データ・セット全体を保持するのに十分な大きさのInnoDBバッファ・プールが使用されました。
  • sysbenchのデータは、それぞれ1,000万行の8つのテーブルで構成され、合計で8,000万行でした。合計データサイズは20GBでした。
  • シナリオごとに、ウォームアップが実行され、続いて5分間のsysbenchロードが実行され、3回繰り返されてトランザクション/秒の平均が計算されます。
  • テストは、64、128、256、512、および1024クライアント接続/スレッドで実行されました。
  • ハードウェアは、Intel E5-2699 v4 CPU (44コア@ 2.20 GHz、88 CPUスレッド)を搭載した2ソケット・サーバーで構成されています。
  • オペレーティング・システム: Oracle Linux 7.9




結果


OLTP RO


ワークロードはSELECT問合せのみで構成され、INSERT、UPDATEまたはDELETEは含まれません。



Enterprise Editionは、テストされたすべてのスレッド構成で平均24%の利益を得ています。




POINT_SELECT


ワークロードは、単純なポイント・ベースのSELECT問合せのみで構成されます。



Enterprise Editionは、テストされたすべてのスレッド構成で平均34%の利益を得ています。




OLTP RW


ワークロードは、読取り問合せと書込み問合せ(SELECT、INSERT、UPDATE、DELETE)で構成されます。



Enterprise Editionは、テストされたすべてのスレッド構成で平均26%の利益を得ています。




UPDATE_KEY


ワークロードは、索引を更新する問合せで構成されます。



Enterprise Editionは、テストされたすべてのスレッド構成で平均21%の利益を得ています。




まとめ


要約すると、これらのベンチマーク結果は、テストされた4種類のワークロードすべてにおいて、MySQL Enterprise Edition 8.0.35がCommunity Editionよりもパフォーマンスが大幅に向上していることを示しています。




免責事項: 実際の改善は、使用される特定のユーザー・ロード、データ、構成、ハードウェアおよびオペレーティング・システムによって異なります。つまり、ここで説明する改善は使用された設定に固有であり、これは他の場所で観察された結果と正確には一致しない可能性があります。




構成詳細

Data Set

Sysbench load. 8 tables, 10 million rows each. Total 80 million rows

Data Size 20GB. Data is fully cached in buffer pool.

 

Hardware

Oracle Linux server release 7.9

Kernel 5.4.17-2012.201.3.el7uek,x86_64

Memory 515.91GB

Intel® xoen® CPU E5-2699 v4 @2.20ghz

2 sockets, 44 cores, 88 CPU threads

 

MySQL Configuration

All configs are defaults, except those listed below.

[mysqld]

## Server ##

back_log=0

disable-log-bin

max_connections=1200

max_prepared_stmt_count=100000

log_error_verbosity=3

thread_cache_size=1200

## Innodb ##

innodb_buffer_pool_instances=16

innodb_buffer_pool_size=128G

innodb-change-buffering=none

innodb_io_capacity_max=12000

innodb_io_capacity=10000

innodb_log_files_in_group=16

innodb_log_file_size=1G

innodb_numa_interleave=ON

innodb_page_cleaners=16

innodb_read_io_threads=16

innodb_write_io_threads=4

innodb_undo_log_truncate=OFF

range_alloc_block_size=16384

 

Toolkit

sysbench-bmk

コメント

このブログの人気の投稿

Oracle RACによるメンテナンスのためのドレインとアプリケーション・コンティニュイティの仕組み (2023/11/01)

Oracle Cloud Infrastructure Secure Desktopsを発表: デスクトップ仮想化のためのOracleのクラウドネイティブ・サービス (2023/06/28)

Oracle Cloudのデータベースをオブジェクト・ストレージにバックアップする3つの方法 (2021/12/13)