1

データベースのソースからの 1 時間あたりのデータ速度が ~1000 であるため、mysql サーバーと phpmyadmin で接続が多すぎることについて質問しています。サーバーで TOP にすると、mysqld は 100 ~ 145% の CPU 使用率を示し、PHP スクリプトによるデータ挿入として、そこで多くの php スレッドが実行されています。私の質問は、接続がオーバーフローせず、mysqlサーバーがCPUをできるだけ低く使用するメカニズムがあるかどうかです。私はVPSサーバーを使用していますが、mysqlサーバーは100%のCPUを使用するため、vpsで別のアプリケーションを使用するのはあまり効果的ではありません. phpmyadmin がクラッシュし、フォーク エラーが表示されることがあります。クエリキャッシュメカニズムを読み取りましたが、同じ選択クエリをキャッシュするために使用されます。これを挿入に使用する必要がありますか、それとも他の最適なソリューションの種類のキューメカニズムがありますか. また、挿入データの速度が遅いか速いかについては言えません。わかっている場合は、キューメカニズムを試すことができます。前もって感謝します!

4

2 に答える 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 に答える