私はWindows 7、Apache 2、PHP 5、MySQL 5を使用していますが、すべて同じマシン上にあります。Windowsプラットフォームでmysql_connect(localhost/127.0.0.1)が遅い
$sql = "select * from user1";
$conn = mysql_connect("localhost", "root", "xxxxxxxx");
mysql_select_db("test1");
mysql_query("set names utf8");
$result = mysql_query($sql, $conn);
while ($row = mysql_fetch_assoc($result)){
foreach ($row as $key => $value){
echo $key." => ".$value." || ";
}
echo "<br/>";
}
mysql_free_result($result);
mysql_close($conn);
上記のコードのために実行している時間が1秒を超えている:私は興味深い問題を発見した 、私は次のコードを持っています。
localhost
の代わりに127.0.0.1
を使用すると、実行時間は約10ミリ秒です。
私は、インターネット上の根本的な理由を見つけることを試み、これが結果です:
私は最近、XPからWindows 7への私の開発を移動し、私が開発したウェブページがに長い5秒を取っていたことがわかりました負荷。これは当然受け入れられないので、私は問題を追跡しなければならなかった。 最終的に、問題の関数/メソッドpdo :: constructを追跡しました。また、mysql_connectが接続を確立するのに約1秒かかっていることもわかりました。ちょっとグーグルで遊んだ後、私はPHPにIPv6に関する問題があることを知り、IPv6を無効にするか、接続するときにipaddress 127.0.0.1に切り替えることで問題を解決できることを発見しました。
私はPHP上のIPv6の問題が何であるか疑問に思っています。ありがとう。
は、MySQLサーバが:: 1上で実行されていますか? phpがおそらくipv6経由で接続しようとしていない場合、それが失敗するとipv4に戻ります。それは少し長くする必要があります。 – konqi
ご迷惑をおかけして申し訳ございませんが、「あなたのmysqlサーバは:: 1で動作していますか?手段?それは、同じマシン上でいくつかのmysqlサーバを走らせることを意味していますか? –
ありがとうございます。私は、localhostではなく127.0.0.1を使用して、私のウェブサイトを大幅に高速化しました。 –