
HP サーバーのパフォーマンスと SQL について知っている方に質問です...
次の要件を満たす適切なサーバーを指定しようとしています。
- SQL 2012 Standard Edition を実行します (Enterprise エディションの承認を取得できません)
- メインデータベースは現在 600 GB ですが、今後 3 年間で最大 1,200 GB まで拡張できます。
- メインデータベースのログファイルは現在 120 GB ですが、300 GB まで拡張できます。
- OLAPデータベースは60GBで、最大120GBまで拡張可能
- Reporting Servicesは約5~10GB
Windows 2012 Standard Edition では 32 GB 以上 (やった!) の使用が可能で、SQL 2012 Standard Edition では 64 GB の RAM の使用が可能なので、OS、SQL、OLAP、RS には 96 GB の RAM を搭載したサーバーがあれば十分だと考えていました...
今、私の懸念はディスク容量の要件です。各コンポーネントを独自の Raid 1 または Raid 1+0 ボリュームに配置したいので、その基準では次のものが必要になります。
- ブート OS 用の RAID 1 構成の 2 x 300 GB 15K RPM 6 GB DP SAS ディスク (使用可能容量 300 GB)
- メイン データベース用の RAID 1+0 構成の 8 x 300 GB 15K RPM 6 GB DP SAS ディスク (使用可能容量 1,200 GB)
- メイン DB のログ ファイル用 RAID 1 構成の 2 x 300 GB 15K RPM 6 GB DP SAS ディスク (使用可能容量 300 GB)
- OLAP 用 RAID 1 の 2 x 300GB 15K RPM 6GB DP SAS ディスク
- レポート サービス用の RAID 1 構成の 300 GB 15K RPM 6 GB DP SAS ディスク 2 台
- 一時 DB 用の RAID 1 構成の 300 GB 15K RPM 6 GB DP SAS ディスク 2 台
Reporting ServicesとTemp DBにそれぞれ300GBは必要ないのは分かっていますが、ディスクサイズをすべて同じにしておくことには意味があると思います。
HP DL380p-Gen8 にはディスク スロットが 8 つしかないため、残りの 10 個のディスクを保持できる D2700 などの外部 SAS ドライブ アレイが必要になります。
ディスク容量が多すぎることは心配していません。
私の主な目標は、このサーバーから最大限のパフォーマンスを引き出すことです。
そこで私の主な質問は、DL380 と D2700 間の IO スループットは十分かということです。外付けドライブ エンクロージャをサーバーに接続するために、1 本の mini-SAS ケーブルのみを使用するようです。
2 番目の質問は、全体的なサーバー仕様が適切なベスト プラクティスに準拠しているかどうかです。
概算予算の上限は 6 万ドルですが、不十分だと思います。そのため、正当な理由があれば、もう少し多くを要求できるかもしれません。
よろしくお願いします!
答え1
HP についてはよく分かりませんが、ディスク レイアウトは「遅い」ように感じます。
真剣に。
まず、すべてに RAID 1 を別々にすると、使用されていないものがあれば IOPS が無駄になります。私なら RAID 10 を 1 つ使用します。
2 番目に、高価な 15k ROM ディスクを使用し、SATA ベースの SSD を使用すると、なんと、より低価格で約 100 倍の IO パフォーマンスが得られます。
ですから、この提案の後、私の会社で二度と人を雇うようなことはしないよう個人的には注意したいと思います。これは 2000 年当時としては最先端の技術です。それから数年が経ちました。
DL 380p には 8 つのドライブがあるので、480 GB の Samsung 843T エンタープライズ レベル SSD を使用したオールアウト SSD セットアップをお勧めします。RAID 10。つまり、およそ 1200 GB の使用可能スペースです。8 つのドライブで 1600 GB、8 つのドライブで 1600 GB です。パフォーマンスは、より高価なセットアップと比べて飛躍的に向上します。交換用に 9 ~ 10 個のドライブを購入して、それで完了です。RAID コントローラーがその帯域幅を処理できるかどうかはわかりません ;)
答え2
コメント欄での議論を避けたいので、ここで私の考えを述べたいと思います。
- 忙しいSQLサーバーで1つの大きなRAIDアレイを使用しないでください。とてもデータ、ログ、tempdbを物理的に別のスピンドルに分離する十分な理由。OLTPやその他のトランザクションの多い環境では、同じアレイに対してI/Oキューは不要です。
- SQL サーバーは、ほぼ常に順次書き込み/読み取りを行うため、SSD の恩恵を大いに受けます。帯域幅の増加は、非常に役立ちます。必ずデュアル ポート SAS SSD を使用し、S-ATA インターフェイスの SSD は使用しないでください。
- メモリ (RAM) は、クエリの実行速度を左右する最も重要な要素です。メモリが多ければ多いほど、キャッシュされるデータと実行プランが多くなります。この点を過小評価しないでください。64 GB の RAM は、将来的にすぐに制限要因になる可能性があるため、将来 SQL Server Enterprise にアップグレードする可能性があることを考慮に入れてください。つまり、RAM のアップグレードの余地を残しておく必要があります。
- コントローラー キャッシュは、シーケンシャル ワークロードでの書き込みに非常に重要です。読み取りキャッシュは、ホットスポットがある場合 (SQL ではあまり一般的ではありません)、またはコントローラーがディスク上で先読みできるほどスマートな場合にのみ役立ちます。
- 分析サービスとレポート サービス専用の別のアレイを用意するのは、少しやりすぎのように思えます。ただし、これは具体的な状況によって異なります。各コンポーネントに必要な IOPS/応答時間は、あなただけが答えることができます。
そうは言っても、SSD ルートを選択する場合は、最低限これをお勧めします。
- OS+SQL プログラム ファイル用に RAID1 で 2 x 300GB 10k (このために SSD にお金を費やすのは無駄です)
- DB データ/OLAP/レポート用の RAID10 の 8 x 400GB eMLC SSD (入手可能な最速の READ iops/bw を備えた SSD を入手してください)
- DB ログ用の RAID1 構成の 2 x 400GB SLC (または eMLC) SSD (SLC は高価ですが、信頼性が非常に高いです。予算がない場合は eMLC を使用してください)
- TempDB 用の RAID1 構成の 2 x 200GB SLC (または eMLC) SSD (上記と同じ)
答え3
これは悪い設計です... 一部は迷信であり、一部はストレージ技術の進化に対する誤解です。
しかし、希望はあります!
あなたが見るべきなのは25 ベイ HP ProLiant DL380p Gen8 サーバーSAS エクスパンダ バックプレーンに 25 x 2.5 インチ ディスクを搭載できます。これにより、外部 D2700 ストレージ エンクロージャが不要になります。
現時点での 2.5 インチ SAS エンタープライズ ディスクの最適な容量は 900 GB です。最近では、300 GB、450 GB、600 GB、900 GB、1.2 TB の容量のディスクが入手可能です。900 GB ディスクは現在、比較的安価です。
HP Smart Array コントローラーを使用すると、物理ディスクのグループごとに複数の論理ドライブを構成できます。たとえば、1 つのアレイに 900 GB ドライブのスピンドルが 16 個あると、必要な論理ボリュームに分割できます。こうすることで、必要なボリュームの分離を実現しながら、16 個以上のディスクの集合的な I/O 機能も実現できます。
HP コントローラーには、ドライブ アレイをバックアップするための読み取りキャッシュとして SSD を活用する機能があります。
現時点ですべて回転ディスクを使用するのは古いやり方であり、リソースを最も効率的に使用することはできません。
プラットフォームのパフォーマンスを最大化する HP 仕様を 25,000 ドルで構築できます。
答え4
HP ProLiant DL380p Gen8 16 ベイ。
2 x 300GB 10k raid 1 OS
8 x 300GB 15k raid 10 mainDB
1 x 128GB Pcie fusion IO card enterprise class for temp DB
2 x 600GB 10k raid 1 for all logs
2 x 300GB 10k raid 1 for reporting and OLAP
2 x 900GB 10k raid 0 flat file backup
ライトバックとバッテリーを備えた2つのRAIDコントローラ 1GBのメモリ
必ず RAID 10 を 1 枚目に、残りを他のカードにすべて SAS で配置してください。