sql >> データベース >  >> RDS >> Mysql

MySQL on Azureパフォーマンスベンチマーク–ScaleGridとAzureデータベース

    Microsoft Azureは、世界で最も人気のあるクラウドプロバイダーの1つであり、インフラストラクチャ全体でMicrosoftを活用するアプリケーションでのデータベースホスティングに自然に適合します。 MySQLは、Azureインスタンスを介して一般的にホストされているオープンソースデータベースの第1位です。 Microsoftは独自のAzureDatabase製品を提供していますが、MySQLのパフォーマンスを向上させるのに役立つ可能性のある他の代替製品があります。このブログ投稿では、Azure DatabaseforMySQLとScaleGridMySQLon Azureを比較して、どのプロバイダーが最高のスループットとレイテンシーのパフォーマンスを提供しているかを確認します。レイテンシーをミリ秒95パーセンタイルレイテンシーで測定します。

    概要– TLDR

    読み取り中心のワークロード

    読み取り集約型のワークロード中、ScaleGridは、Azure Databaseと比較して最大3倍のスループットを達成し、平均で66%優れたレイテンシーを実現します。今すぐ読む

    バランスの取れたワークロード

    ScaleGridは、スループットが平均150%向上し、レイテンシが3分の1未満であるため、バランスの取れたワークロード向けにAzureDatabaseよりも優れています。今すぐ読む

    書き込みが集中するワークロード

    Scalegridは、Azure Database for MySQLと比較して、最大4倍のスループットを達成し、すべてのスレッド数で平均64%低いレイテンシーを実現します。今すぐ読む

    始めたばかりですか?クラウドデータベースの展開の最適化について詳しくは、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

    システムベンチの構成

    構成 詳細
    ツール 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ホスティングページの完全な比較を確認してください。


    1. CONCAT_WS()がPostgreSQLでどのように機能するか

    2. MariaDBで1か月の日数を返す

    3. SQLiteでRandomBlob()がどのように機能するか

    4. PostgreSQLのデフォルトの制約名は何ですか?