2

MySQLが原因で実際​​に高いCPU負荷を引き起こしている悪いクエリを見つけるのに問題があります。ページの最後に、MySQLに接続した後に行われたすべてのクエリをPHPで印刷する方法を探しています。すでに存在するすべてのmysqlクエリの後にコードを変更せずにこれを行う方法はありますか?インクルードファイルがたくさんあるので、スクリプト内のすべてのクエリを見つけるのは難しいです。

すべてのクエリをmysqlログに記録できることは承知していますが、おそらく数百のクエリを非常に高速に書き込むと、サーバーがさらに過負荷になるのではないかと心配しています。さらに、特定のページで行われたすべてのクエリを確認して、一度に1つずつ確認する方がはるかに簡単です。

前もって感謝します。

4

1 に答える 1

5

私は常にMySQLの遅いクエリログから始めます-各クエリをログに記録すると、多くのノイズが発生します。

DALを使用している場合(そうする必要があります)、DALにトレースを追加できます。

そうでなければ、PHPにmysqlをトレースさせる簡単な方法はありません。php.iniを使用すると、mysql.trace_modeは警告とエラーのみを実行します(php_mysql、関数のソースを確認しましたが、php_mysql_do_query_generalすべてをログに記録するものはありません。

于 2012-07-04T14:39:08.343 に答える