私はスウェーデンの大きなソーシャルゲームiPhoneアプリの4人の創設者の1人です。私たちは今、深刻なデータベースサーバーの問題に苦しんでいるので、私はあなたたちに助けを求めています。まず、これを紹介します。私はサーバーを担当する技術者ではありませんが、調査を支援します。
PostgreSQLDBに対して約8kクエリ/ 5秒を取得し、急速に成長しています。 DBサーバーはすでにストレスを感じています。これは、16GBのRAMを搭載した8コアのVPSです。
AWSで実行されているEnterpriseDBのPostgres Plus Cloud Databaseソリューションを使用する可能性を検討しています。 ( http://www.enterprisedb.com/cloud-database )
1)誰かこの問題の経験がありますか?
2)専用サーバーを使用するオプションも検討していますが、サーバーを最大20〜30倍に拡張する可能性が必要です。これはEnterpriseDBのソリューションでは比較的簡単ですか?
3)問題がなければ:EnterpriseDBは、理論的には問題を解決するクラスターソリューションを提供します。私は正しいですか?
高性能システムの場合、仮想化は通常、解決するよりもはるかに多くの問題を引き起こすと思います。頭痛の種を避けてください。まともなデータベースサーバーを社内で構築します。
現在の問題が何であるかを言うのは難しく、仮想化によってトラブルシューティングがはるかに困難になります。ロードCPUはバインドされていますか? I/Oバウンドですか?並行性の問題がありますか?他に何かありますか?
さて、5秒ごとの8kクエリがそれほど複雑なクエリではない場合、当面の問題は、なぜパフォーマンスの問題があるのかということです。 dbの調整が必要な場合があります。私は、物事がうまく調整されていれば、良いハードウェアでそれを数倍得ることができるはずであるといういくつかの兆候を見てきました。繰り返しになりますが、仮想化はおそらく問題を簡単にするのではなく修正するのを難しくしています。
最後に、Postgres-XCを調べることを強くお勧めします。レイヤーの上の並行性と一貫性を管理しながら、書き込み拡張性のためにシャーディングを行うことができます。私はあなたが持っているものを調整し始め、そこから移動します。