0

MySQLサーバーの前にプロキシレイヤーを実装しようとしています。これにより、冗長なSQLクエリがキャッチされ、サーバーに1回だけ送信されます。言い換えれば、MySQLと通信し、同じSELECTクエリを繰り返すことが非常に多いクライアント(PHP、Perl、さまざまなWebノード)がたくさんあります。トラフィックが増加すると、MySQLは非常に頻繁に減少します。

問題は、役立つオープンソース(または商用)ツールを知っていますか?MySQLプロキシを試しましたが、役に立たないようです。

4

2 に答える 2

3

2 つの提案:

  1. MySQL Proxy これは MySQL のフロント エンド プロキシであり、私の知る限り、あなたが望むことを行います。
  2. YouTube mysql 環境で使用されている vitess プロジェクトの vtocc も同様のことを行います。クエリの統合: 実行中のクエリの結果を、クエリがまだ実行されている間に受け取った後続の要求に再利用する機能。
于 2012-09-04T16:38:01.753 に答える
0

HAProxyその仕組みを調べることをお勧めします。

ここで2つの追加提案

提案 #1 クラスターをセットアップする

データがすべて InnoDB の場合は、Percona XtraDB Clusterを試して、それと組み合わせて HAProxy を使用する必要があります。書き込みマスターを含むクラスター内のすべてのサーバー間で負荷を分散できます。

提案 #2 1 つ以上の DB サーバーへの MySQL レプリケーションを介してクラスターをセットアップする

HAProxy を使用して、読み取りスレーブ間で読み取りの負荷を分散する

予算が限られており、データが比較的小さい場合は、1 つのサーバーに複数の MySQL インスタンスをセットアップします

于 2012-06-29T14:49:18.960 に答える