Microsoft Azureは、世界で最も人気のあるクラウドプロバイダーの1つであり、インフラストラクチャ全体でMicrosoftを活用するアプリケーションでのデータベースホスティングに自然に適合します。 MySQLは、Azureインスタンスを介して一般的にホストされているオープンソースデータベースの第1位です。 Microsoftは独自のAzureDatabase製品を提供していますが、MySQLのパフォーマンスを向上させるのに役立つ可能性のある他の代替製品があります。このブログ投稿では、Azure DatabaseforMySQLとScaleGridMySQLon Azureを比較して、どのプロバイダーが最高のスループットとレイテンシーのパフォーマンスを提供しているかを確認します。レイテンシーをミリ秒95パーセンタイルレイテンシーで測定します。
概要– TLDR | ||||||
---|---|---|---|---|---|---|
|
始めたばかりですか?クラウドデータベースの展開の最適化について詳しくは、AzureCloudでMySQLをホストするための最良の方法の投稿をご覧ください。
MySQLAzureパフォーマンスベンチマーク
このベンチマークレポートでは、次の3つのワークロードシナリオで、ScaleGridでのAzureでのMySQLホスティングとMySQL用のAzureデータベースを比較します。
- 読み取り集中型ワークロード:80%の読み取りと20%の書き込み
- バランスの取れたワークロード:50%の読み取りと50%の書き込み
- 書き込み集中型ワークロード:20%の読み取りと80%の書き込み
MySQLのスループットとレイテンシーのパフォーマンスを測定し、スループットを1秒あたりのクエリ数(QPS)で測定し、レイテンシーを95パーセンタイル(ms)で測定します。これらのテストがどのように構成されたかについては、パフォーマンスレポートの下にあるベンチマーク構成のセクションを確認してください。
MySQLRead-Intensive Performance
MySQLの読み取り集約型ワークロードは、通常、SELECTなどの読み取り操作によって支配されるワークロードです。したがって、読み取りを多用するワークロードは、データベースへの書き込みよりもデータベースをより頻繁に検索するワークロードになります。 Perconaには、読み取りと書き込みを多用するワークロードに関する優れた投稿があり、詳細を確認できます。
ScaleGridMySQLとAzureDatabasefor MySQLのスループットとレイテンシのパフォーマンスを見てみましょう:
スループット
スレッド | ScaleGrid | Azure | ScaleGridの改善 |
---|---|---|---|
25 | 5,299 | 1,689 | 214% |
50 | 6,092 | 2,302 | 165% |
100 | 8,429 | 2,877 | 193% |
150 | 9,011 | 2,870 | 214% |
175 | 7,025 | 2,805 | 151% |
上記のグラフとパフォーマンス表からわかるように、ScaleGridMySQLは最大3倍のスループットを達成します 読み取り集約型のワークロードについては、AzureDatabaseと比較してください。 Azure Database for MySQLのスループットはすべてのスレッドシナリオで1秒あたり3,000クエリ未満ですが、ScaleGridではスレッド全体で1秒あたり5,000〜9,000クエリを超えています。 |
レイテンシ
スレッド | ScaleGrid | Azure | ScaleGridの改善 |
---|---|---|---|
25 | 258 | 451 | -43% |
50 | 101 | 670 | -85% |
100 | 148 | 978 | -85% |
150 | 309 | 1562 | -80% |
175 | 1,089 | 1,678 | -35% |
スレッド数が増えると、Azure Database for MySQLのレイテンシーは急速に増加しますが、ScaleGrid MySQLは、すべてのスレッド数で着実に低いレイテンシーを実現します。 。平均して、 ScaleGrid for MySQLのレイテンシはAzureデータベースより66%低くなっています 読み取り集約型のワークロードシナリオ用のMySQLの場合。 |
Azureでの#MySQLレイテンシーを66%削減し、スループットパフォーマンスを最大3倍向上クリックしてツイート
MySQLのバランスの取れたワークロードパフォーマンス
バランスの取れたワークロードは、ほぼ同量の読み取り操作と書き込み操作を活用します。
スループット
スレッド | ScaleGrid | Azure | ScaleGridの改善 |
---|---|---|---|
25 | 3,806 | 1,748 | 118% |
50 | 5,834 | 2,437 | 139% |
100 | 6,365 | 2,712 | 135% |
150 | 5,724 | 2,775 | 106% |
175 | 6,206 | 1,767 | 251% |
平均して、 ScaleGridはMySQLスループットをAzureデータベースよりも150%向上させました バランスの取れたワークロードのためのMySQLの場合、2倍以上優れています すべての数のスレッドにわたって。 Azure Databaseは150スレッドで1秒あたり約2,775クエリで最大になりましたが、ScaleGridは同じ数のスレッドで1秒あたり5,724クエリを達成しました。 |
レイテンシ
スレッド | ScaleGrid | Azure | ScaleGridの改善 |
---|---|---|---|
25 | 76 | 390 | -81% |
50 | 103 | 612 | -83% |
100 | 240 | 943 | -75% |
150 | 560 | 1,590 | -65% |
175 | 560 | 2,199 | -75% |
ScaleGrid MySQLのデプロイが少ない速度で実行できる、バランスの取れたワークロードのレイテンシパフォーマンスがさらに劇的に向上することがわかります。レイテンシの3分の1以上 MySQL用のAzureデータベースと比較。 |
MySQL Write-Intensive Performance
読み取り操作はデータベースから検索しますが、書き込み操作は、INSERT、UPDATE、DELETEクエリなど、データベースに保存またはデータベースを変更する操作です。書き込みを多用するワークロードは、操作がより多くのリソースを消費するため、通常、読み取りを多用するワークロードよりもコストがかかります。 MySQLの書き込みが集中するワークロード全体でScaleGridとAzureDatabaseのスループットとレイテンシーのパフォーマンスを比較してみましょう。
スループット
スレッド | ScaleGrid | Azure | ScaleGridの改善 |
---|---|---|---|
25 | 3,327 | 826 | 303% |
50 | 5,003 | 1,154 | 334% |
100 | 5,180 | 1,476 | 251% |
150 | 4,310 | 1,651 | 161% |
175 | 4,071 | 1,643 | 148% |
書き込みが集中するシナリオでは、ScaleGridが最大4倍のパフォーマンスを達成する最大のパフォーマンス向上を確認できます。 Azureデータベースと比較して高いスループット 。これは特にロースレッドのシナリオで明らかですが、175スレッドでも、ScaleGridのパフォーマンスはAzureデータベースの2.5倍です。 |
レイテンシ
スレッド | ScaleGrid | Azure | ScaleGridの改善 |
---|---|---|---|
25 | 76 | 277 | -73% |
50 | 101 | 383 | -74% |
100 | 298 | 996 | -70% |
150 | 760 | 1,740 | -56% |
175 | 1,089 | 2,009 | -46% |
ScaleGridは、すべてのスレッド数で平均 64%低いレイテンシーでAzureDatabaseを再び上回りました 書き込みの多いワークロードの場合。 |
上記のレポートからわかるように、ScaleGridは、読み取り集約型、書き込み集約型、およびバランスの取れたワークロード全体で、MySQLのAzure Databaseデプロイメントに対するスループットを大幅に向上させ、レイテンシーを削減するのに役立ちます。シナリオ。これら2つのプロバイダーが機能間でどのように比較されるかについて詳しくは、ScaleGridとAzureDatabaseMySQLのページをご覧ください。
ベンチマーク構成
パフォーマンスベンチマークで使用した構成を見てみましょう:
構成の比較
ScaleGridとAzureデータベースの間で提供される最も比較可能なプランを使用して、構成を設計しました。わずかな違いがあり、コストは2つのプロバイダーで同じです:
ScaleGrid MySQL on Azure | Azure Database for MySQL | |
---|---|---|
インスタンスタイプ | 専用ラージ:Standard_Ds2_v22コア | 汎用:2コア |
RAM | 7GB | 10GB(vCoreあたり5GBのメモリ) |
SSD | 128GB、プレミアムSSDディスク、500 IOPS | 167GB、最大500 IOPS |
展開タイプ | 2+1クォーラムと準同期レプリケーション | +1リードレプリカ非同期レプリケーション |
地域 | 米国東部 | 米国東部 |
サポート | 含まれています | 標準プラン($ 100) |
推定月額 | $ 400 | $ 400 |
システムベンチの構成
構成 | 詳細b> |
---|---|
ツール | Sysbenchバージョン1.0.20 |
ホスト | Standard_Ds2_v2 米国東部地域の2コア(2 vcpus、7GBメモリ) |
#テーブル | 100 |
#テーブルあたりの行数 | 2,000,000 |
ランダムな数字の分布 | スペシャル |
MySQLServerの構成
構成 | Azure Scalegrid(専用) | Azure DB for MySQL |
---|---|---|
SQLバージョン | 5.7.25 | 5.7.27 |
innodb_buffer_pool_size | 4G | 7.5G |
innodb_log_file_size | 1G | 268M |
innodb_io_capacity | 500 | 500 |
innodb_io_capacity_max | 1000 | 1000 |
ScaleGridには、MySQL構成をカスタマイズするための高度なオプションがあることに注意してください。これにより、アプリケーションのニーズに合わせてデプロイメントをカスタマイズし、パフォーマンスを最適化できます。残念ながら、Azure Databaseでは一部のパラメーターをカスタマイズできないため、プラットフォームで使用できる既定の構成のままになります。
たとえば、InnoDBログファイルのサイズを1GBにカスタマイズできましたが、Azure Databaseの場合、これは変更できず、デフォルト値は268Mです。 Azure DatabaseforMySQLの制限の詳細をご覧ください。
Scalegrid MySQL for Azureを使用することには、他にも多くの利点があります。ScaleGridとAzureデータベース-MySQLホスティングページの完全な比較を確認してください。