今日、とあるサーバーでMySQLのプロセス数が何十個もあるのを見ました。
「あれ?MySQLはマルチスレッドなはずだが。。。??」
と疑問に思うわけです。
これは、カーネル2.6以降で実装された新しいスレッドライブラリを使用しているかどうかで決まるようです。
新しい実装のNPTL(Native POSIX Thread Library)ではマルチスレッドなプロセスは一つのプロセスとして管理されます。普通ですね。ちなみにこのライブラリでマルチスレッドの性能が飛躍的に向上したとか。
そうでないLinuxThreadsライブラリでは、各スレッドはそれぞれ一つのプロセスとして管理されるそうです。なんとなく手抜きな匂いを感じますね。「とりあえずプロセスの管理機構を使っとこうよ」。
なので、多くのプロセスが起動しているように見えるみたいです。実体はマルチスレッドで動くひとつのプロセスなので多い日も安心です。
要するにMySQLはあんまり関係がなかったわけですね。
タイトルはなんだったんでしょうか。詐欺ですね。
0 件のコメント:
コメントを投稿