9

Linux Centos でMySQL 5.1.35データベースを使用しています。

Linux サーバーには2GB の RAM と 14GB のディスク容量があります。

Java でRestletフレームワークを使用して Web サービスを作成しましたが、これには数千のユーザー アクセスがあります。

最大同時接続数の max_connection を設定したい。

それで、何max_connectionを設定すればよいか教えてください。

前もって感謝します。

4

3 に答える 3

17

MySQLエンジンに必要なメモリを計算する必要があります。こちらのマニュアルを参照してください

MYISAMテーブルを使用している場合は、次の式を使用してメモリ要件を計算できます。

key_buffer_size + (read_buffer_size + sort_buffer_size) * max_connections = K bytes of memory 

理想的には、これは2GBを超えないようにする必要があります。

構成パラメーターは、アプリケーションとクエリのタイプによって異なりますが、標準値は次のようになります。

key_buffer_size = 1024MB + (read_buffer_size = 1MB + sort_buffer_size = 4MB) * 200 ~= 2GB

key_buffer_sizeはグローバル変数ですが、read_buffer_size and sort_buffer_sizeはセッションレベルのパラメータです。

于 2012-08-31T11:34:36.543 に答える
7

これは、使用しているメモリの量と、他の設定がどのように構成されているかによって異なります。これに使用できるMySQL Calculatorがあります。

于 2014-09-22T14:51:33.450 に答える
1

次のような情報を提供する必要があります。

  1. アプリケーションを使用しているユーザーは何人ですか?
  2. データベースに接続するアプリケーションの数は?
  3. 負荷はどのくらいで、クエリはどのように与えられますか?

サーバー構成の場合:

  1. 選択したLinuxでApache/PHPとMySQL用に2つの別々のサーバーを用意することをお勧めします。
  2. どちらのボックスでも他のことをやりすぎないようにしてください。Apache/PHPとMySQLのリソースを残します。

詳細については、TuningMySQLを参照してください。

于 2012-08-31T11:31:13.137 に答える