LAMPサーバーパフォーマンスのヒント[非公開]


11

LAMPサーバーを実行しているユーザーにどのようなパフォーマンスのヒントを提供できますか?

ディストリビューション固有のものが存在する場合、Debianをターゲットにしています。

回答:


26

本当にあなたのワークロードに依存します。

  • 以下のためのLの一部

    • 多くのメモリを取得し、
    • 4GBを超えることができる場合は、64ビットを使用します。
    • コンテンツ、ログ、MySQLデータがマウントオプションを使用するパーティションの場合:noatime、nodiratime。
    • 個別の物理ドライブ/ RAIDセットを使用し、理想的にはSQLデータ、ログ、提供するコンテンツをそれぞれ別々のスピンドルに保存します。
  • 以下のためのAのあなたのスタックの一部-まあ多分あなたがそれを完全に置き換えたいnginxのlighthttpd、または多分ちょうど動的なコンテンツのためにApacheを離れ、(これら2など別のサーバ持つmathopdを静的コンテンツ用)。その他のオプションについては、こちらをご覧ください。同じボックスでApacheと別のサーバーの両方を実行する場合は、2番目のIPアドレスが便利です。エンドユーザーの待ち時間を短縮するには、キープアライブでhttp / 1.1を使用します。静的コンテンツにはCDNの使用を検討してください。

  • 以下のためのMのあなたのランプの一部-を見てとるmysqlperformanceblogを。私の頭の上から:

    • 遅いクエリを記録する、
    • 十分なメモリを与え、
    • innodbの使用を検討してください。
    • 検索するテキストがたくさんある場合-sphinxを使用し、インデックスを再構築するバッチジョブを使用します。
    • XYZ秒より長く実行されるクエリを強制終了することを検討してください。ピーク時にサイト全体を停止させるよりも、ユーザーの1%を混乱させる方が適切です。しかし、それは本当に現金取引を処理するか素敵な写真を見せるかによって異なります。
    • 可能であればmemcachedを使用して、より「高価な」SQLクエリの結果をキャッシュします。SQLのコンテンツを変更するときは、キャッシュを無効にすることに注意してください。一方、すべてのデータが快適にメモリに収まるサイトはほとんどありません。そのため、MySQLは非常に高速で、追加のキャッシュは必要ありません。
  • 以下のためのP

    • スクリプトの実行タイムアウトを設定します。
    • PHPアクセラレータ /オペコードキャッシュの使用を検討してください。私はxcacheにかなり満足していましたが、今は使いません。
    • CPU集中処理の場合-結果をキャッシュし、SQLまたはmemcachedに保存します

実際にはパフォーマンスのヒントではありませんが、オフサイトバックアップを行ってください。本当に。


1
これを追加できる場合は、最近Amazon s3を介したプッシュおよびプル戦略を使用した安全なバックアップについてブログに投稿しました。銀行のデータには実行できませんが、amzonを信頼するすべてのものは問題ないはずです。logaholic.de/2009/05/21/…–
カルステン

あなたがコメントする前に、私は実際にそのブログ投稿に気付きました;-]。とにかくいいもの。バックアップをいつでも暗号化して、より安全にすることができます。
pQd 2009年

3

MySQLとApache / PHPを2つの異なるマシンで分離することをお勧めします。

たとえば、1台のマシン(C2D E6600)があり、常に2.0以上の負荷平均にスパイクしました。MySQLを2台目のマシン(P4C 3Ghz)に配置した後、両方の負荷平均が0.2-0.3を超えませんでした。そこで、非常に遅いサイトから、パフォーマンスに大きな余裕のある2台のサーバーがある高速サイトに移行しました。


いい視点ね。私はあなたのボトルネックがIOサブシステム/ドライブの応答性だったと推測することができます。2つの異なるドライブでデータを分離する/優れたディスクコントローラーを使用することで、同様のトリックを実行できます。とにかく、より多くのメモリとより多くのcpusが常に良いのですが、その場合、より多くの可能性のある障害点も得られます。
2009年

まあ、私はそれがディスクI / Oであったかどうかはよくわかりません。なぜなら、ほとんどの(90%の)SQLヒットがキャッシュされたからです。CPUコンテキストスイッチについて考えていましたが、実際に重要な役割を果たすことができるかどうかはわかりません。
アントワーヌ・ベンケモン2009年

1

P部分については、APCによるオペコードキャッシングを検討できます。デフォルトのmod_phpの代わりにphpを使用してmod_fastcgiを検討することもできます。


私は本当にeAcceleratorが好きです。私のサイトに最高のパフォーマンスを提供します。
TheHippo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.