Redhat9でMySQL4.1.14を公式からRPMパッケージを持ってきてインストールしました。
別のウェブサーバから、このMySQLがインストールされたサーバにパスワードを使って接続しにいっています。
コマンドライン(mysql -u hoge -h *.*.*.* -p)からの場合、
一旦接続すると後は早いのですが、
接続までに6秒ほどかかってしまいます。
したがって、PHPから接続しにいったばあい、スクリプトごとに毎回connectするので、とても遅く感じます。
何か回避する方法はありませんでしょうか?
※ちなみに、このサーバ間でSSHやTELNET接続をする際は、素早く繋がります。
MySQLのときのみ遅いのです。
http://e-words.jp/w/E3839BE382B9E38388E5908D.html
ホスト名とは 【host name】 ─ 意味・解説 : IT用語辞典 e-Words
毎回、ホスト名を引いているように思います。
MySQLは、通常では権限検査が厳密に行われますので、権限の設定がホストの名称になっていたりすると、
その都度DNSサーバに問い合わせを行うようです。
そういう時は、権限テーブルに直アドレスを設定するのが一番の早道です。
一度お試しあれ。
<やり方>
システム変数”skip-name-resolve”に1を設定。
データベースユーザ権限は全てIPアドレスで与える。(例) php_server@192.168.11.3 などに変更する。
又、権限検査を止めるという方法もありますが、セキュリティ上お勧め出来ません。
それ以外に、スレッド生成で時間を取られている場合は、システム変数”thread_cache_size”を常時接続している
クライアント数に設定する事でスレッド生成のオーバーヘッドを削減出来ます。
おっと!
なるほどです。
> システム変数”skip-name-resolve”に1
というのは、どこに設定すればいいのでしょうか??
ちなみに、接続元のサーバは、ホスト名の設定がまだで、正引き逆引きともに不可能です。
その辺を改めることからスタートしてみます。