2009-04-17 10 views
2

クライアント用のWebサーバーを設定しています。彼らは私が構築しているWebアプリケーション(PHP/LAMP)を使用します。サーバーはネットワーク内にローカルに置かれます。同じサーバーにMySQLデータベースもあります。サーバーの負荷は20〜25人の同時ユーザーに過ぎませんが、稼働時間とパフォーマンスは依然として非常に重要です。私のWebサーバーのサーバー設定に関する提案はありますか?

アプリケーション自体は、フロントエンドのJQueryとバックエンドのPHPを使用して、コンテンツをユーザーに表示するためにバックエンドCMS(TBD)を使用します。

私の質問は、比較的安価なソリューションを提供するためにCPU、キャッシュ、メモリ(サイズ/タイプ)の面で優れたサーバーシステム要件がありますが、それでも質の高いパフォーマンスが得られます。

+0

データベースは比較的小さく、およそ50のテーブルです。テーブルには数百のレコードの平均があり、最大のものは数千のレコードしかないでしょう。クエリもそれほど重くはありません。 – Bamerza

答えて

3

実際に言うと、ハードウェアは最大の要因ではなく、コーディングです。アプリケーションを適切かつ最適に開発する場合は、1GHz、512MBのRAM、および5200rpmのハードドライブで動作するマシンで、同時に100人以上のユーザーを同時に実行できる必要があります。

VMWareを使用して仮想マシンを作成し、MySQLサーバーとWebサーバーを分離することをお勧めします。また、再構成や再インストールを行うことなく、マシンを複製、移行、アップグレードすることもできます。

また、オペレーティングシステムでGUI(Debian、Ubuntu、Fedoraなど、X-Windowがインストールされていない)なしでLAMP設定を実行してください。これらはサーバーなので、かなりのウィンドウを表示するリソースを無駄にしてはいけません。

最後に、トレント氏のように、RAID構成は素晴らしい考えですが、RAIDはバックアップソリューションではありません。同じハードドライブを2つ使用している場合は、1つが故障した場合、もう1つが直ちに故障する可能性が非常に高いです。常にバックアップソリューション(NAS、テープ、DVD、フロッピーディスクなど)を用意してください。

1

電源が2つあることを確認してください... 2電源装置2台のハードドライブ(RAID 1)以上のRAID 5。稼働時間の重要性に応じて、サーバー全体をフェイルオーバーしたい場合もあります。パフォーマンスに関しては、私たちに十分な情報を与えていない...データベースにどれくらいのデータがあるかをクエリがどのくらい重いか。

1

サーバー上で実行されるアプリケーションの詳細がわからない場合は、具体的な推奨事項(XGB RAM、Yキャッシュ、Zキャッシュ)は無意味です。つまり、特にデータベース駆動型アプリケーションの場合、RAMを軽視しないことを強くお勧めします。ハードドライブにぶつかることなくRAMに保存できるデータが多いほど、パフォーマンスは向上します。しかし、開発者としては、豊富なハードウェアリソースが適切なインデックスとコードの最適化に代わるものではないことを忘れないでください!

私はまた、あなたのドライブ(私は過去にデータベースサーバ用にRAID 10を選んでいました)をRAIDし、オフラインバックアップ(テープ、DVD-R、USBドライブ、バックアップをオフサイトに維持していることを確認してください(洪水、火災、その他の物理的な災害の場合)。また、定期的にバックアップからリストアをテストすることを忘れないでください。バックアップが遅すぎるとバックアップが機能しないことを発見するよりも悪いことはありません。

+0

Thx ...この段落を追加しました: アプリケーション自体は、フロントエンドでJQuery、バックエンドでPHPを使用して、コンテンツをユーザーに表示するためにバックエンドCMS(TBD)を使用します。 – Bamerza

関連する問題