sql >> データベース >  >> RDS >> Mysql

MySQLの高いCPU使用率

    まず、永続的な接続は、ほとんどの場合、良いよりも害を及ぼすため、オフにすることをお勧めします。

    次に、MySQLユーザーを再確認して、リモートサーバーからだれも接続できないことを確認したいと思います。これは、チェックすべき主要なセキュリティ事項でもあります。

    第三に、をオンにします。 MySQLスロークエリ ログに記録して、時間がかかるクエリを監視し、それを使用して、キーテーブルを長時間ロックするクエリがないことを確認します。

    他に確認できることは、CPU負荷が高いときに次のクエリを実行することです。

    SHOW PROCESSLIST;
    

    これにより、現在実行中または実行するキューにあるクエリ、クエリの内容、および実行内容が表示されます(このコマンドは、クエリが長すぎる場合は切り捨てられます。SHOWFULL PROCESSLISTを使用して完全なクエリテキストを表示できます) 。

    また、バッファサイズ、テーブルキャッシュクエリキャッシュ および innodb_buffer_pool_size (innodbテーブルを使用している場合)これらのメモリ割り当てはすべてクエリのパフォーマンスに影響を及ぼし、MySQLがCPUを消費する可能性があるためです。

    また、いくつかの良い情報が含まれているので、以下を読んでおくことをお勧めします。

    プロファイラーを使用することも非常に良い考えです。必要なときにオンにできるものは、アプリケーションが実行しているクエリ、重複するクエリがあるかどうか、それらにかかる時間などを示します。このような例は、私が取り組んできたものです。 PHPプロファイラー しかし、そこにはたくさんあります。 Drupal、Joomla、Wordpressなどのソフトウェアを使用している場合は、手動で何も統合しなくてもこの情報を取得できるモジュールが利用できる可能性があるため、コミュニティ内で質問することをお勧めします。



    1. パラメータ化されたクエリが、パラメータ化されていないクエリと比較して非常に遅いクエリプランを生成するのはなぜですか

    2. postgresql date_truncを任意精度に?

    3. PostgreSQL:シリアルvsアイデンティティ

    4. コマンドラインからmysqlデータベースをプレーンテキスト(CSV)バックアップにダンプします