データベースのソースからの 1 時間あたりのデータ速度が ~1000 であるため、mysql サーバーと phpmyadmin で接続が多すぎることについて質問しています。サーバーで TOP にすると、mysqld は 100 ~ 145% の CPU 使用率を示し、PHP スクリプトによるデータ挿入として、そこで多くの php スレッドが実行されています。私の質問は、接続がオーバーフローせず、mysqlサーバーがCPUをできるだけ低く使用するメカニズムがあるかどうかです。私はVPSサーバーを使用していますが、mysqlサーバーは100%のCPUを使用するため、vpsで別のアプリケーションを使用するのはあまり効果的ではありません. phpmyadmin がクラッシュし、フォーク エラーが表示されることがあります。クエリキャッシュメカニズムを読み取りましたが、同じ選択クエリをキャッシュするために使用されます。これを挿入に使用する必要がありますか、それとも他の最適なソリューションの種類のキューメカニズムがありますか. また、挿入データの速度が遅いか速いかについては言えません。わかっている場合は、キューメカニズムを試すことができます。前もって感謝します!
質問する
823 次
2 に答える
1
コードを確認して、次のようなものがあるかどうかを確認します
for($i = 0; $i < 10000; $i++) // basicly long loop with inserts
mysql_query("INSERT INTO table_name (id, value) VALUES ({$i}, 100)");
これは次のように変更する必要があります
$arr_values = array();
for($i = 0; $i < 10000; $i++)
$arr_values[] = "({$i}, 100)";
$str_values = implode(', ', $arr_values);
mysql_query("INSERT INTO table_name (id, value) VALUES {$str_values}");
基本的に、コード内の不要なクエリに注意してください。
于 2012-05-22T09:12:31.690 に答える
0
次のリンク mysql_query cacheから「QUERY CACHE」に関する基本的な考え方を得る必要があります。
于 2012-05-22T09:08:32.207 に答える