質問

私たちのスタートアップがうまく取り出して以来、私たちはあなたがいつもあなたに影響を与えないと思っていたいくつかの問題のいくつかと会っています。

すでに多くのアプリケーションスタックをスケーリングしています。テーブルが「Engine = Memory」で実行されている別のPerconaサーバーに、一時的な情報用の高い読み取り/書き込みテーブルをオフロードし、他のセクションをCassandraクラスターに移行しました。

これで、88%/12%の読み取り/書き込み負荷がある「リーン」データベースが残っています。この時点で、いくつかの質問があります。

1.奴隷を読んでください

読み取り/書き込みのセットアップにより、多くの(2-3)読み取り奴隷は、書き込みマスターの読み取り負荷を最小限に抑える必要があります。読み取り奴隷ソリューションはどの程度スケーラブルです:私たちが2倍/trippleする場合、私たちの負荷は読み取り奴隷を追加して、読み取りに十分な容量を提供し続けますか?この投稿を読みました: マスターあたりの奴隷の量の制限は何ですか? しかし、鱗状の背景から出てこないこれは愚かに思えるかもしれませんが、これはフリーズ可能な解決策ですか?読み取り奴隷解決策ではなく、多くの人々がシャードを押しているが、現時点では、アプリケーションの大きなセクションを書き直すために読み取り/書き込みの負荷が必要であるとは思えません...何か考えはありますか?

2.複数のデータセンターと複製

さらに、ネットワーク遅延を削減するために、データセンターが近くのさまざまな地理的位置を提供することを検討しています(ラグがあまり好きではないモバイルアプリケーションを扱います)。計画は、多くの言及されたSemisyncを使用することです。複製(参照: mysql dbを2つのサーバーに分割するのは良い考えですかMySQLレプリケーションは高度な相互接続の影響を受けますか? )各データセンターには単一のマスターと複数の読み取り奴隷がいるマスターマスターレプリケーションの場合。繰り返しますが、私の素朴さでは、これがスケーリング時に「ベストプラクティス」の範囲内にあるかどうかを知ることに非常に興味があります。

3.ハードウェアと構成

私は過去数週間忙しかったので、ライブシステムをベンチマークしています。ポイント1と2に選択したソリューションに関係なく、現在使用しているサーバーはそれほど長くはないでしょう。私たちのセットアップについていくつかの考えがあります:

CPU: Intel(R) Xeon(R) CPU E31275 @ 3.40GHz mit 8 cores (hyperthreading)
RAM: 16GB
Raid 10 with a strip size of 64 KB and controller cache enabled
Software: Percona 5.5
Database size: 83.7GB
Top 5 Tables:
 21302MB  table1
 7656MB  table2
 5477MB  table3
 4352MB  table4
 3663MB  table5

my.cnf設定:

 max_heap_table_size=64M
 tmp_table_size=64M
 default_storage_engine = InnoDB
 innodb_buffer_pool_size = 10G
 innodb_file_per_table   = 1
 innodb_old_blocks_time=1000
 innodb_buffer_pool_instances=10
 innodb_log_file_size=256M
 innodb_flush_method=O_DIRECT
 innodb_read_io_threads=10
 innodb_write_io_threads=10
 join_buffer_size = 67108864 #64M
 expand_fast_index_creation=ON

Percona Xtradbクラスターソリューションに移行すると、複製の安定性などの問題の一部が解決されますか?

これらは非常に理論的な質問の多くであることを知っており、私の考えを読んでコメントするのに時間をかける人なら誰でも感謝しています。ヨーロッパの小さなスタートアップとして、私たちは本当に「クラウドに行く」だけのベンチャーキャピタルを持っていません。私たちは自分自身をよりコントロールすることを好みます。コンサルタントなどを検討している間、Stackexchangeはいくつかのアイデアを跳ね返すのに適した場所だと思いました。

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top