サーバーに必要なハードウェアをどのように判断していますか?
MySQL を実行している DB サーバーがあり、サーバーを購入したいと考えていますが、必要なハードウェア仕様がわかりません。これは、Web ページをホストするためのサーバーです。
編集: ソフトウェアは単なるMySQLサーバーです
サーバーに必要なハードウェアをどのように判断していますか?
MySQL を実行している DB サーバーがあり、サーバーを購入したいと考えていますが、必要なハードウェア仕様がわかりません。これは、Web ページをホストするためのサーバーです。
編集: ソフトウェアは単なるMySQLサーバーです
それはすべて、アプリケーションで予想される負荷の量によって異なります。しかし、最低でも、2 x CPU またはマルチコア シングル CPU、少なくとも 4GB の RAM、および適切な RAID コントローラーを使用します。パフォーマンスとストレージの要件に応じて、RAID 1 (ミラー) から始めて、すべて (同じ - ストライプとすべてをミラー) で RAID 10 (ミラー ストライプ) に拡張します。
まともなネットワークポイントも入手してください。
拡張する必要がある場合は、少なくとも十分なヘッドルームが得られるはずです。
データベースのサイズを決定するのは難しい場合があります。通常、CPU速度は重要ではありませんが、並列作業負荷の場合は、コアが多いほど優れています。通常、大量のメモリと高速ディスクが重要です。現在、MySQLサーバーに16GBまたは32GBのメモリが搭載されていることは珍しくありません。もちろん、データセットが2GBまたは4GBしかない場合、それはあまり意味がありません。
データセット全体をメモリに配置するのに十分なRAM(RAMディスクではなく、データベースにキャッシュさせる)に余裕がある場合は、その量のRAMを取得します。データが大幅に増加すると予想される場合、これは必ずしも長期的な戦略としては適切ではありません。
データサイズが余裕のあるRAMの量よりも大きい場合は、より高速なディスクとより小さなディスク(4x136GBではなく8x 74GB)を使用して補正を試みることができます。
現在使用しているハードウェアを使用して(大規模なサーバーが稼働していないと仮定して)、いくつかのサンプルデータを使用してスケールダウンしたベンチマークを実行することで、パフォーマンスに関するアイデアを得ることができます。それはあなたにあなたのボトルネックがどこにあるか、そしてあなたがより多くの現金を使う必要がある場所の考えをあなたに与えるはずです。
大規模なベンダー(Dell、HP、Sun、IBMなど)と協力している場合は、検討している仕様のデモユニットを送信するかどうかを尋ねることができます。そうすれば、機器を購入する前にベンチマークを実行できます。
そして最後に、これがアプリの最初のデータベースサーバーであり、それが成功するかどうかわからない場合でも、あまり心配する必要はありません。「ローエンド」サーバーから始めてアプリが成功した場合は、強力なサーバーへのフォークリフトアップグレードを簡単に行うことができます。
1 つの方法は、システムをモデル化し、予想される負荷をシミュレートすることです。この種の離散イベント シミュレーションを実行できるツールがいくつかあります。
これは簡単なことではなく、商用ツールには費用がかかります。
また、予想される負荷に近いベンチマークを探して、求めているパフォーマンスを提供するシステムを確認することもできます。TPC ベンチマークは、開始するのに適した場所です。
幸運を :)
現在の開発サーバーで負荷テストを行い、それに基づいて決定してみませんか? おそらく、最初のサーバーで予想よりも少ない使用量を使用して、ビジネスが正当化する場合にスケールアウトできることに気付くでしょう。
それは、顧客の認識がどれほど重要であるか、および利用可能な予算によって異なります。
予算がほとんどない場合は、メモリを追加します。特に 4GG モジュールを使用している場合は、現時点では非常に安価です (8GB のものは、私が住んでいる 4GB のものの 2 倍以上高価です)。
もう少し余裕がある場合は、クアッドコアまたはデュアルクアッドコア システムの購入を検討してください。
もう少し余裕がある場合は、適切なディスク コントローラー、理想的にはハードウェア RAID を備えた SAS コントローラーを入手してください。
顧客の認識が最重要である場合は、冗長電源と上記のすべてを備えた HP または IBM を入手してください。また、煩わしければ、NIC のトランキングも検討してください。
幸運を祈ります。
これは、ホストするアプリケーションの性質と、サーバーにかかる負荷 (現在および将来) に完全に依存します。
サーバーを「スペック」するときは、常に自分が買える最高のスペックのものを購入します。
私は通常、余裕のある最速のディスクを入手しようとするときのデータベース サーバーを除いて、非常に標準的な仕様を購入します。
もう 1 つのオプションは、DB 用に別のサーバーを取得するのではなく、既存のサーバーで DB をホストすることです。これには、仮想化 (vmware、xen) や、単一のサーバーを「バックエンド データベース サーバー」として専用にするなど、さまざまなオプションがあります。
最新のハードウェアでは、専用サーバーで CPU 使用率が大幅に上昇することはまずありません。
サーバーの無秩序な増加は、長期的には高くつきます。最終的に、そのサーバーはアップグレードと交換が必要になります。数十個 (または数百個) を交換する必要がある場合、それは悪夢になる可能性があります。
それは、提供するために必要なヒット数によって異なります。可能であれば、古い標準的な PC でプログラムを実行し、プロファイラーを実行して、システムにどれだけの負荷がかかっているかを確認してください。MySQL GUI ツールには、システムが使用されているパーセンテージを示すヘルス モニターがあります。おそらく、古い PC で問題ないでしょう。多くのサービスを提供している場合や、このような公開サイト (多くのサービスを提供していると見なされる) を除きます。