web-dev-qa-db-ja.com

Win7のXAMPPが遅すぎる

Windows 7 UltimateでXAMPP 1.7.1を実行しています。速度以外はすべて(ApacheとMySQL)が正常に動作しています。

http:// localhost / を開くと、Webページが表示されるまでおそらく1〜3秒待つ必要があります。私の意見では、それはせいぜい数百ミリ秒であるべきです。

基本的な事実:

  • localhostウェブページの読み込みを待機している間、ステータスバーに「ローカルホストを待っています...」と表示されます
  • CPUはまだアイドル状態です(ロード中にアクティビティが増加しない)
  • localhostでは、要求の厳しいPHPスクリプトです。問題は、重い重いスクリプトがあっても単純なphpinfo()がある場合です。
  • mySQLサーバーを無効にしても速度には影響しません
  • 私のPC:AMD Turion 64 X2; 1,6 GHzデュアルコア、2 GB RAM、100 GB HDD

HDD/CSS速度をテストするための簡単なベンチマークPHPスクリプトを作成しました:

<?php

function getmicrotime() { 
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

function testReadWrite() {
 $timeStart = getmicrotime();
 $filename = "test.txt";

 file_put_contents( $filename, '' ); // prepare empty file

 for ( $i = 0; $i < 1000; $i++ ) {
  $a = file_get_contents( $filename );
  file_put_contents( $filename, $a . '.' );
 }

 return round( getmicrotime() - $timeStart, 3 );
} 


function testCpuSpeed() {
 $timeStart = getmicrotime();

 $var = '';
 for ( $i = 0; $i < 100000; $i++ ) {
  $var = sha1( md5( $i * $i * $i * $i * $i * $i * $i * $i * $i * $i ) );
 }

 return round( getmicrotime() - $timeStart, 3 );
}

echo "Read/write #1: " . testReadWrite() . "<BR>";
echo "Read/write #2: " . testReadWrite() . "<BR>";
echo "Read/write #3: " . testReadWrite() . "<BR>";
echo "CPU speed #1: " . testCpuSpeed() . "<BR>";
echo "CPU speed #2: " . testCpuSpeed() . "<BR>";
echo "CPU speed #3: " . testCpuSpeed() . "<BR>";

?>

私のPCの結果:

  • 読み取り/書き込み:5.134/3.431/3.494
  • CPU速度:0.816/0.767/0.795

ウェブホスティングの結果:

  • 読み取り/書き込み:7.768/7.69/7.371
  • CPU速度:0.232/0.234/0.234

私のサーバーの結果の1つ(アイドル状態のコンピューターは私のPCとほぼ同じですが、少し高速です):

  • 読み取り/書き込み:0.088/0.168/0.185
  • CPU速度:0.191/0.189/0.189

だからといって、自分のパソコンの速度のせいではないと思いますが、別の問題があると思います。 Windows 7(またはVista)でのXAMPP速度の経験はありますか?

ありがとう。

25
Martin

Windows 7でXAMPが遅い場合、ファイアウォールの設定に違いはありません。
Security Essentialsアンチウイルスは違いをもたらしません。

この問題を解決するために、大きな違いをもたらす2つの点は次のとおりです。

1)windows\system32\drivers\etc\hostsに次の行を追加します。

127.0.0.1 127.0.0.1

127.0.0.1 localhost

2)PHPを使用している場合は、XAMP php.iniファイルでeaccelerator行のコメントを解除します。

zend_extension = "C:\ xampp\php\ext\php_eaccelerator_ts.dll"

これらの2つの変更後、Apacheを再起動すると、はるかに高速になります。

43
JoeV

これが問題の原因であるかどうかはわかりませんが、これはアイデアかもしれません。次のような行がありますか?

::1 localhost

あなたのホストでC:\WINDOWS\system32\drivers\etc\hosts、正しく覚えている場合)ファイル?

はいの場合は、#最初に。


このように、localhostに関する唯一の行は

127.0.0.1    localhost

これはIPv4アドレスです。そして、あなたがコメントしたものはIPv6である-これはあなたがやろうとしていることには全く役に立たない。


私が言ったように、あなたの問題がこれに関連していることは確かではありませんが、私はこのサジェションがあなたに非常に似た問題の数回の助けとなるのを見ました(サーバー)

15
Pascal MARTIN

XDEBUGを使用してPHP.iniの行をコメント化します。

;[XDebug]

    ;zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
    ;xdebug.profiler_append = 0
    ;xdebug.profiler_enable = 1
    ;xdebug.profiler_enable_trigger = 0
    ;xdebug.profiler_output_dir = "C:\xampp\tmp"
    ;xdebug.profiler_output_name = "cachegrind.out.%t-%s"
    ;xdebug.remote_enable = 0
    ;xdebug.remote_handler = "dbgp"
    ;debug.remote_Host = "127.0.0.1"
    ;xdebug.trace_output_dir = "C:\xampp\tmp"

 
 Bitdefeenderを無効にしました->結果なし
ホストに行を追加しました->結果なし
 xdebugを無効にしました-x2-x3高速
 .____。]

よろしくバルト

15
Barto

Win 7 + XAMPPでも同様の問題がありました。問題は私のアンチウイルスソフトウェアによって引き起こされました。それが有効になったとき、最も単純なPHPページを開くのに0.5秒以上かかっていました。多くの連鎖require_once()を含む大きなPHPスクリプトは、1.5秒以上かかりました。ウイルス対策が無効になっていると、すべてが速くなりました(単純なページあたり100ミリ秒未満、非常に重いものでは約500ミリ秒(100以上の連鎖require_once()))。

私はbitdeffenderを使用していますが、その解決策は次のとおりです。

  1. 簡単な解決策-xamppを使用する場合は、bitdefenderをgame modeに切り替えるだけです
  2. 「高度な」ソリューション-Antivirus -> Shield -> Advanced Settings -> Exclusions Tabに移動し、httpd.exeの除外を追加します(xampp installation/Apache/bin /にあります)。次にAntivirus -> Exclusionsに移動し、phpファイルが存在するディレクトリの除外を追加します。

上記の手順の後でApacheを再起動することを忘れないでください。

オプションで、eacceleratorをインストールしてさらに高速化できます。

余談ですが、WAMPはXAMPPよりもプロジェクトとして成熟していないことがわかりました。

補足2:最良の解決策は、古いPCをLinuxサーバーとして使用することです。すべてが魅力的に機能します:-)

11
Ognyan

いくつかの回答を読んだ後-それらのどれも助けにはならなかった(私は私のアンチウイルスを削除さえしました)。

私を劇的に助けたのはxdebugを無効にするです。今、すべてが非常に速くなりました。

8
Ronny Sherer

私のバグ-XAMPP非常に遅い

私のXamppが遅くなり、最終的に停止したのは、phpログを埋める警告メッセージが原因でした-先読み

1-Localhost/127.0.0.1-ヘルプなし

2-ウイルスソフトウェアの干渉-助けなし

3-ポートの干渉が8080に変化-助けなし

4-ワンプ-同じこと-助けなし

最終的には、500エラーで完全に失敗しました。

C:\ xampp\php\logs\php_error_logはほぼMBでした(957K)

notepadd ++(私が何かに出会った最初の手がかり)には大きすぎ、レンダリングに数分かかりました。

「厳格」および「警告」タイプの数千のメッセージ

[〜#〜]修正[〜#〜]

php.iniのdisplay_errors = Onを= Offに変更しました「そこには他にもいくつかのエラーオン/オフスイッチがありますが、これは私のために行いました。」

名前付きログ

apacheとmysqlを再起動しました

人生は素晴らしい。

2
Joe

この問題は2つの原因で発生する可能性があります。ウイルス対策ソフトウェアとホストファイルの設定

1)windows\system32\drivers\etc\hostsに次の行を追加します。

127.0.0.1 127.0.0.1

127.0.0.1 localhost

2)アンチウイルスで、ファイルを含むdocument_rootフォルダーを除外します(例:c:/ wwwまたはc:/ xampp/htdocなど)。これをテストするには、アンチウイルスを一時的に無効にすることもできますが、長期的な修正として、フォルダーとサブフォルダーを除外します

2
Sanket Gupta

「localhost」の代わりに127.0.0.1を使用してDBに接続すると、うまくいきました。

しかし、私は別の解決策を探してこれを思いつきました:

my.iniファイルで、次の行のコメントを外します。

    # Change here for bind listening
    # bind-address="127.0.0.1" 
    # bind-address = ::1          # for ipv6

最終的には次のようになります。

    # Change here for bind listening
      bind-address="127.0.0.1" 
    # bind-address = ::1          # for ipv6

Mysqlサーバーを再起動すると、ページが2〜3秒の遅延なしで非常に高速に読み込まれます。

また、このソリューションでは、DB接続コードで接続を変更する必要はなく、「12.7.0.1」の代わりに「localhost」を引き続き使用できます。

1
ChelaTheGreat

C:\WINDOWS\system32\drivers\etc\hostsこれらの行にコメントを付けました

# 127.0.0.1 localhost
# ::1       localhost

他のルールの約100行。解決策は、これらのルールをすべて削除するか、コメントを解除することです127.0.0.1 localhostの上に置きます。

1
bumbu

私は一年前に同じ問題を抱えていて、最後にここで何が問題を引き起こしているかを見つけました。ログ(アクセス、エラー)ファイルが巨大になりすぎて、メモ帳でも開くのに時間がかかる場合はどうなりますか?

はい、あなたは正しいxamppがそれらのファイルを作成すると聞きました。

enter image description here

今問題があれば、解決策もあります。毎日ログファイルをローテーションできます。ここに手順があります

  1. このパス「Xampp/Apache/conf/httpd.conf」でhttpd.confを編集します
  2. 見つけるだろう CustomLog "logs/access.log" common
  3. と置換する CustomLog "|bin/rotatelogs.exe logs/access_%y-%m-%d.log 86400" common
  4. logs/error.logファイルでも同じことができます。
  5. 回転プログラムの詳細については、以下に従ってください https://httpd.Apache.org/docs/2.4/programs/rotatelogs.html

xdebugも役立つと思います。

1
chudasamachirag

明白なことを述べるリスクがあります-ホストファイルのサイズを確認してください。 Spybotがほとんどすべてのマルウェアサイトに例外を追加したため、私のホストファイルは450Kに膨れ上がりました。 Spybotはこれらの1万件以上のエントリに2008年の著作権日付を付けてコメントしたため、とにかく役に立たなくなりました。

他のスパイウェア保護ソフトウェアがこれを行うかどうかはわかりませんが、XAMPPがページを表示するたびに例外URLをチャーンする必要がないように、hostsファイルは十分に小さくなければなりません。ちなみに、クラックされたソフトウェアがインストールされている場合は、もちろん私は容認しませんが、オンライン検証チェックサイトをブロックするホスト例外を削除しないように注意してください。

1
VanAlbert

Wamp Serverを試してみませんか?

インストールファイルは、XAMPP(44mb)に比べてはるかに小さい(16mb)。

http://wampserver.com/

1
Yada

これは私がやったことであり、XAMPPの方法をより速くしました:

  1. ホストファイル(C:\ Windows\System32\drivers\etc\hosts)で私のサイトに新しい未使用のループバックアドレスを割り当てました。つまり、他のサイトで使用されている127.0.0.1の使用は避けました。

    127.0.0.2 example.com

  2. 追加されたApache httpd.confファイル:

    Listen 127.0.0.2: 80

  3. 私はいくつかのサイトを持っているので、各サイトのhtdocsの下にサブフォルダーがあります。この例では、フォルダー名はexample.comで、そこに私のサイトがあります。そこで、次のように、httpd.confファイルにVirtualHostを追加しました。

    <VirtualHost 127.0.0.2:80> ServerAdmin [email protected] DocumentRoot "C:/xampp/htdocs/example.com" ServerName example.com ErrorLog "c:/xampp/Apache/logs/example.log" CustomLog "c:/xampp/Apache/logs/example-access.log" common </VirtualHost>

  4. Apacheを再起動しました。

その後、ブラウザでexample.comにアクセスすると、読み込みが非常に速くなります。

0
Goboca

私は同じ問題を抱えています...

私がしたことは、C: driveにあったxamppをアンインストールしたことです。

別のドライブにインストールしました(E:)...

わからないが、うまく機能し、高速に動作します。

0
Pratik

アバストアンチウイルスを使用して、クリック1つで問題を解決しました。アバストアイコンを右クリックして、サイレント/ゲームモードを選択します。それで全部です。

0
lesm

私はこの問題を抱えていました、それはアンチウイルスやファイアウォールとは関係がありませんでした。ローカルホストが127.0.0.1を探していることを確認することで簡単に修正されました。

ここで良いアドバイスを見つけました:
[ http://www.devside.net/wamp-server/wamp-is-running-very-slow

手順は次のとおりです。ファイルの編集– C:\ Windows\System32\drivers\etc\hosts

先頭に「#」を追加して、行をコメント化します。

:: 1ローカルホスト

「localhost」がIPアドレス「:: 1」に解決されると、リクエストは(IPv6リスニングソケットが見つからない場合)IPアドレス127.0.0.1にルーティングされます(タイムアウト、フォールバック、またはその他のメカニズムを介して)。 )、接続に不必要な遅延を引き起こします(たとえば、通常は1秒から30秒の範囲)。

「localhost」がIPv4ループバックアドレス「127.0.0.1」に正しくマップされていることを確認してください(この行はコメント化されていません):127.0.0.1 localhost

0
OurHighHopes