ホスティング事業者にサーバーの最適化を注文するときは注意してください

画像 数日前に、VPS設定を微調整して高速化するという、ごく普通のリクエストで男が私のところに来ました。最近、サイトのトラフィックが急激に増加し、ピーク時にサーバーが完全に曲がりました。



サーバーが以前にホスティング業者の技術サポートによって「最適化」されていなかった場合、これはnginxとopcode-cachingに関する普通の退屈な記事になります:-)



最適化プロセス中に発見したことについて、ホスティング業者の同様のトリックから他者を保護するために、この小さなメモを書いています。 :-)



(1時間の作業のために)迅速な解決策が必要だったので、標準パスに沿って進みました:nginx / PHPアクセラレーター/統計の期限切れ/アクセスログの無効化。 nginxはすでにそこにあり、残りは3日までに行われました。 私の目の前で、PHPはmod_phpではなくCGIモードで動作することに気付きました(すぐには触れませんでした-PHPが動作しているユーザーに何かが結び付けられているかどうかを常に把握する必要があります)。 もちろん、パフォーマンスは向上しました(右のグラフを参照)が、期待していたものとはかけ離れていました(グラフで使用できるCPUは50%のみであるため、グラフが50%に達すると、すべてが非常に悪くなります)。 さらに、午前中に目が覚めたとき、一部のページが機能しなくなったことを示す手紙を目にしました(運が良ければ、設定を変更した後に見たページは機能しました)。



画像 CGIから始めて、2回目にさらに詳しく調べました。 私はそのようなことを見たことがありません、mod_phpは長い間、デフォルトでどこにでもあり、すべての点でCGIよりも高速です(ここではFCGIについて話していません)。 そして、私たちが知っているように、CGIモードで作業しているとき、APCオペコードキャッシュはPHPプロセス間で機能しないため、パフォーマンスの向上はありません。



壊れたページは、APCとZend Optimizerの競合が原因でした(ただし、ここに表示されるとは思っていませんでした)。まったく機能しないはずですが、一部のページは奇跡的に機能しました。



顧客と話をした後、これがサーバーが最適化要求の技術サポートを設定する方法であることがわかりました。 彼らが彼らのために調整したものを詳しく見てみましょう:



デフォルトの構成と比較して、ホスティング事業者によって構成されたもの:



1)nginx:8つのプロセス、それぞれ65kの接続(サーバーが既に100から死んでおり、nginxが650'000を処理する準備をしているという事実にもかかわらず)。 statics expiresは設定されていません(Apache2なしで直接staticsを与えることは言うまでもありません)。 アクセスログはApacheとnginxの両方で書き込まれます。

2)CGIモードのPHP。 これにより、一般的なPHPアクセラレーターの使用が不要になります。 Zend Optimizerはほとんど役に立ちません。 PHPの最も遅いモードであり、さらに悪いことを思い付くのは困難です。

3)nginx用のApacheは、それ自体で最大150プロセス、PHPで最大150プロセスを実行しようとしています。 明らかに、メモリは非常に激しく消費されます。 ホスティング事業者は、より厚い関税への切り替えを推奨しており、顧客は実際に切り替えますが、より長い関税だけでは十分ではありません。

4)50MBの使用済みメモリの構成を備えたMySQL(ギガバイト使用可能)。



私が設定したもの/最初から設定する必要があるもの:



1)nginx、1プロセス(通常のサーバーと10,000の「スタンディング」状態の接続は表示されません。残りは余分なメモリ消費です)。 静的要素のexpiresヘッダーを返す。

2)デフォルトモードのPHP、mod_php。 PHPオペコードキャッシュ(APCなど)。

3)apache2は8〜16プロセス=固定メモリ消費に制限されています。

4)MySQL-使用可能なメモリの半分の構成。



結果は4日に表示されます。 負荷が大幅に削減され、メモリ消費が安定し、2倍の安い料金に切り替えることができます(ただし、出席者が急速に増加しているため、これを行いませんでした)。



まとめ



この場合、サーバー最適化のためにチケットを実行した管理者(私は心から信じたい)の低い資格、またはクライアントをより太い関税に、そして将来は専用サーバーにフックするための直接的な妨害 (これはそう呼ばれます)のいずれかがありました。 ホスト名を秘密にしておくので、これが彼に起こらないとは誰も思わないでしょう。 精神的に下痢の光線を送るだけです。 (もちろん、問題について会社の経営陣に通知しました)



明らかに、利益相反があることは明らかです。最適化後、あなたのサイトが迅速に動作し、メモリをほとんど消費しないため、ホスティング事業者は利益がありません。



ですから、ホスティング業者があなたのためにあなたのために設定するものに目を離さないで、ムニンのチャートから目を離さないでください







All Articles