2017-03-30 4 views
0

私は、MySQLデータベースに接続するPHPスクリプトを実行するApacheサーバー上でホストされているWebアプリケーションを持っています。
異なるMySQL接続が別のスレッドに存在しますか?

私は、要求を受け取ったときに別のスクリプトを実行するためにスレッドとプロセスを作成することを知っていますが、複数のユーザーがストアドプロシージャを呼び出すスクリプトを実行しようとすると問題が発生します。 2人以上が一度に使用しているときに、プロセスを不自然に遅くする90%で動作し始め、もう1つは0%でしか動作しません。

プロセッサを最大限に活用する方法はありますか?

答えて

3

各MySQL接続は、mysqldプロセスで独自のスレッドを開始します。しかし、1つのMySQL接続は1つのスレッドに固定されています。 MySQLでは、個々の接続に複数のコアを使用することはできません。

また、Mysqldは常に他のヘルパースレッドを実行します。等の詳細については

接続マネージャスレッド、レプリケーションスレッド、デッドロック検出スレッド、読み取りと書き込みのための様々なInnoDBのスレッドが、読み:

サーバにアイドルコアがある場合は、スレッドのスケジューリングに十分な同時作業がない可能性があります複数のコア。

+0

本当にありがとうございました。私はそれを見ていきます。 – Sacha

関連する問題