最新のYandex.CloudクラウドサービスでのPostgreSQL 10.5パフォーマンスレビュー

ちょうど先日、Yandexは新しいユーザーであるYandex。Cloudへのベータユーザーのアクセスを開始しました。 このイベントは、社内プロジェクトの1つにクラウドプラットフォームを選択する必要性と一致したことが判明したため、すぐにYandexソリューションのパフォーマンスをテストすることにしました。



テストでは、PostgreSQLと古き良きpgbenchを使用しました。 仮想マシンだけでなく、管理されたデータベースサービスのパフォーマンスをテストおよび比較することは興味深いため、DBMSの選択が決まりました。



免責事項:著者は、プロの管理者でも、DBAでも、クラウドソリューションのカスタマイズの専門家でもありません。 テストは純粋に個人的な目的のために実施されたものであり、客観的なふりをするものではありません。したがって、「現状のまま」の記事をご覧ください。 内部の詳細な分析はありませんが、ソリューションのパフォーマンスとコストの観点から、Selectel VPC(異なるドライブ上)およびさまざまなAWS EC2 / RDS構成との明示的な比較が行われます。 おそらくこれは誰かの時間を少し節約するでしょう。



詳細は、Yandex.Cloud対Selectel VPC対AWSをご覧ください。



Yandex.Cloudサービスの構造



Yandex.Cloudリソースの構造は、このようなサービスに共通です:



リソースクォータ(グローバル)

カタログ(プロジェクト)



-Compute Cloud(仮想マシンおよびドライブ)

-管理されたデータベース(データベースクラスター、Clickhouse、MongoDB、PostgreSQLデータベースを実行できます)

-オブジェクトストレージ(クラウドストレージ)

-仮想プライベートクラウド(クラウドネットワーク)

-API



特にドキュメントはパブリックドメインであり、そこから多くのことが明らかであるため、インターフェイスを詳細に説明することには意味がありません。



構成を比較する



次のリソースは、テストのすべての仮想インスタンスに割り当てられました。



vCPU :8コア

RAM :32 Gb

ディスク :SSD(特定のクラス-テストインスタンスを参照)。

OS :CentOS 7最小



マネージドデータベースサービスの場合、最も近い可能な構成が要求されました(YandexとAWSには8CPU / 32RAMの構成があります)。



テスト済みのPostgresのバージョンは10.5です。 postgresql10-server



パッケージから仮想マシンにpostgresql10-server



れ、管理対象クラスターではこのバージョンがリストから選択されました。



テスト方法



  1. postgresql10-server



    およびpostgresql10



    パッケージがクリーンなOSにインストールされた
  2. ベンチマークのデータベースは、パラメーターで初期化されました: pgbench -i -s 100



  3. 次のパラメーターを使用して、ベンチマークを3回実行しましたpgbench -c 10 -T 60



  4. pgbench



    ユーティリティは、DBMSがインストールされたのと同じ仮想マシンで実行され、管理対象クラスターの場合は同じクラウド内の仮想マシンで実行されました。
  5. 3つの中で最高の結果が結果テーブルに入力されました。


試験結果



エクスプレステストのすべての結果を1つの表(下のグラフ)に示します。

資源 Tps 価格
AWS EC2 m5.2xlarge 2822 343
AWS EC2 m5d.2xlarge 2752 403
AWS EC2 t3.2xlarge 2636 290
AWS EC2 t2.2xlarge 2259 320
AWS EC2 m4.2xlarge 2187 358
Selectel VPC (高速SSD) 1524 186
Yandexクラウドコンピューティングインスタンス 1309 155
Yandex Cloud Managed Database 1226 234
AWS RDS db.m4.2xlarge(3000 IOPS) 1200 1007
AWS RDS db.t2.2xlarge(3000 IOPS) 1127 862
AWS RDS db.t2.2xlarge(1000 IOPS) 970 625
AWS RDS db.m4.2xlarge(1000 IOPS) 885 769
Selectel VPC(ユニバーサルSSD) 247 164


[ 価格 ]列には、100 GBのストレージを含む、テストされたソリューションの1か月あたりの推定価格がUSDで表示されます。 時間単位で課金されるAmazon RDSの場合、1時間のコストに720を掛けました。計算の価格は次のソースから取得されました。



-Yandex Cloud Managed Database用

-Yandex Cloud Computeインスタンス用

-Selectel VPCインスタンスの場合



グラフ形式のテスト結果:



画像



結論



一般に、結論は非常に明白です。DBMSをホストする目的でSelectelからユニバーサルSSDを取得しない方が良いです:)



しかし、真剣に、主にSelectelとYandexを比較することは私にとって興味深いことでした。 結局のところ、両方のソリューションは、パフォーマンスとコストの両方の点でほぼ真っ先に行きます。 さらに、驚きのコスト:テストされた構成の価格は非常に手頃でした。



AWSクラウドで同様の構成を使用する方が高いと予想されます(ただし、価格の差が大きいと予想していました)が、ロシアのプロバイダーはどれもパフォーマンスの点でAWS EC2に追いつくことができませんでした。 例外は私が理解していないRDSであり、プロビジョニングされたIOPSを追加しても役に立たない-それでも動作は遅いが、非常に高価である。



Yandexについてのほんの一言:一般に、私は彼らから長い間このようなサービスが登場することを期待していましたが、これは時間の問題であることは明らかでした。 まだ湿気があることは明らかです(これはWebの銃口のみに適用され、インフラストラクチャ全体には適用されません)。これは、内部に多くのバグとグリッチがあるためです。 私はそれらと密接に話さなければなりませんでした。 これがバグなのか、私が理解できないものなのかを理解するためのサポート。 しかし、これらはすべてすぐにデバッグされ、別の価値ある代替案がロシアのIaaS市場に登場すると確信しています。



All Articles