2016-07-01 10 views
0

私はAmazonのインスタンスを使用してWebサイトをホスティングしています。私のAmazonはインスタンスタイプとしてc4.4xlargeをインストールしています。どこで私はUbuntu(ubuntuサーバーではない)を運用システムとして使用していますか。また、データベースにRDSを使用しているので、システムにはApacheの負荷しかありません。サーバーの応答の問題

My Serverの負荷は最大50%になり、データベース接続は500-600になります。その時、サーバーの応答時間は非常に遅くなります。現時点では、私はサーバの最大使用量を持っているときに同じアヤックスコールが約8-15秒を取るデータを取得するために、サーバの負荷が2%、db接続が約8-10、アヤックスコールが1.2秒かかる。

私はウェブサイトを速くします。私は5つのiframeを持っているので、500人のアクティブユーザーがいると、そのWebページのパネル内に5つのWebサイトがあります.iframeのすべてのWebサイトも、1〜5秒後に自分のサーバーに要求を送信し続けます。その時、パフォーマンスは悪くなり、いつかFirefoxがハングアップします。

私はメモリの場所とdb接続を変更することでApacheの設定ファイルにいくつかの変更を加えましたが、それは助けになりませんでした。ウェブサイトのパフォーマンスをインフォーマル化する他の方法はありますか?

enter image description here おかげ

答えて

0

私はあなたのサーバーに関する詳細についてそのわからないが、私はあなたがあなたのデータベースに500〜600個の接続を持っていることを奇妙になると思います。確かに質問してください:クライアントから直接データベースに接続していますか?いいえ、サーバー側のコードをチェックして、接続プールをたくさん作成していないことを確認してください。サーバーのdbドライバに接続プールが1つしかなく、接続を再利用する必要があります。

また、plsはデータベースのサイズを確認し、必要なインデックスをすべて作成していることを確認します。そのテーブルのインデックスを修正しないクエリがある場合、データベースはすべてのデータをスキャンしてレスポンスが遅くなるようにする必要があります。

+0

Codeignitorフレームワークを使用して作成されたソフトウェアと、wordpressで作成されたWebサイトが2つあります。それ以外に、ユーザーがデータベースにアクセスできる方法はありません。 codeignitorの自動ロードライブラリにデータベースのライブラリが追加された場所。データベースのサイズはほとんど4 MBです。しかし、サーバーの応答が遅くなるのは、RDSサーバーの使用率が50%を下回っているためです。 – Uahmed

+0

4MBのデータセットでパフォーマンスが低下するかどうかわかりませんが、私は1秒ではないと思いますまたは2秒。私はあなたがサーバー側のCodeignitorによってデータベースに接続していると思います。なぜ多くの接続があるのか​​を知るためにPHPプロファイリングが必要な場合があります。それは正常ではありません。 jmeteやその他のテストツールを使用してサーバー上でローカルに負荷をかけてから、Profilerをチェックして、なぜ多くのdb接続があるのか​​を確認することができます。たとえそれがcodieignitorのオートロードライブラリであっても、あなたがそれを間違えている可能性はまだあります。それを深く見てください。 –

+0

DB接続のスクリーンショットを追加しました。ページに5つのiframeがあり、Apacheサーバーに負荷がかかるため、パフォーマンスが低下することがあります。 500-600のDb接続はユーザー数を表し、すべてのユーザーが5つの異なるWebサイトにアクセスしている場合、iframeは同じページに、iframeは5つごとに1〜5秒ごとにリクエストを送信してパフォーマンスに影響を与える可能性があります。私はもう一度コードを見ることができますが、WordpressとCodeignitorを別の方法で接続する方法はありません – Uahmed