2017-08-20 8 views
2

私のWebアプリケーションはPHPネイティブで、フレームワークなし、何もない、私のサーバーは32GB RAM、Webサイトに大量のトラフィックがあるときは遅すぎる(2秒間のページ読み込みは50秒になる)。それはいくつかの時間PHP - ABテストが失敗する

apr_socket_connect(): No connection could be made because the target machine actively refused it. 

を与える

ab -n 20000 -c 1000 mywebsite.com 

を使ってABテストをしようとしました

は、PHPまたは何か他のものへのより多くのRAMを割り当てるとにかくはありますか?

+0

...またはレビューコード。 –

+0

なしで分析するのは難しいPHPをFCGIまたはApache Moduleとして実行していますか? – MiSAKACHi

+0

@MiSAKACHILLのFPMアプリケーションby apache – JenuRudan

答えて

2

ほとんどの場合、最大同時接続数が発生しています。下の次の提案を読む:Windows Serverの(mpm_winntで)

  • 設定httpd-mpm.confThreadLimitThreadsPerChildをするために

    。値は、複数のおよび/または並行した要求を処理するのに十分な値でなければなりません。使用しているモジュールに応じてLinuxの場合

(モジュール依存)

  • は、あなたが扱うようにしたい接続の数にMaxRequestWorkersディレクティブを設定します。

このドキュメントでは、サーバーが複数のリクエストまたは同時リクエストを適切に処理できるように設定する必要があるディレクティブを確認できます。 Apache MPM Modules

+0

私はCentOs 7にあります – JenuRudan

+0

これはすでにMBMイベントを使用しています。それをworkerに変更する必要がありますか? – JenuRudan

+0

あなたはmpm_eventを意味しますか?それを変更しないでください。まずMaxRequestWorkersディレクティブでいくつかのテストを行います。 – MiSAKACHi

関連する問題