0

私たちの製品 (.NET-Web に組み込まれている) とハードウェア RAM によって消費されるメモリに関して、私は独特の状況にあります。

製品が展開されている顧客は、本番環境で次の構成を持っています。

ハードウェア:

  • [a] デュアル XEON X5570 2.93GHz クアッド コア CPU、3.33GHz ターボ、6.4GT/s QPI、8MB キャッシュ [b] 144GB RAM - メモリ [c] 8x 600GB 10K 2.5" SAS HDD [d] SMART ARRAY P410i RAID コントローラーバッテリーと 256MB キャッシュ [e] 4x ギガビット イーサネット [f] デュアル 460W 電源

ソフトウェア (オールインワンボックス):

  • [a] Windows Server 2012 - 64 ビット [b] .NET Framework 4.5 [c] SQL Server

2012 エンタープライズ サーバー エディション

現在、144 GB の RAM と大容量の HDD があるため、お客様は、アプリケーションが「超高速」で実行され、パフォーマンスが向上することを期待しています。

お客様は完全に非 IT 組織です。RAM/HDD の増加量に関係なく、Windows OS は最終的に (.NET フレームワークと SQL エンジンを介して) プログラムに割り当てることができるメモリの量に制限があるため、既に説明する必要があります。特定の .NET プログラムは、適切に連続したフラットなセグメント化されていないメモリ領域で「実行」されます。

彼らはこの議論を消化することができません。だから私は、これらの行について説明している技術記事、ブログ、またはそのようなものがあるかどうかをグーグルで調べましたが、あまり成功していません. 基本的に、いくつかの Web 記事の参照を通じて伝える必要があるのは、ハードウェアをどれだけ改善しても、実行中のプログラムに割り当てられるメモリの量は OS によって管理および制限されるということです。

Windows-64bit-Server-2012 によって特定の .NET プログラムの実行 (または SQL-2012-store-手順の実行)。

たとえば、このリンクhttp://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memoryは、32 ビット OS について次のように述べています。 「マルチタスク OS の各プロセスは、独自のメモリ サンドボックスで実行されます。このサンドボックスは仮想アドレス空間であり、32 ビット モードでは常にメモリ アドレスの 4GB ブロックです。」

64 ビットの Windows-SERVER-2012 OS について、ブログ/msdn の参照として、同様のものを探しています。 ..!!!

4

1 に答える 1

0

セカンダリ CPU と 2 倍の RAM を追加したときにデータベースが 2 倍高速に実行されない理由を顧客に説明する同様の問題がありました。

議論を締めくくった議論: 2 倍以上のユーザーがログインしてシステムで作業しても、速度が低下することはありません。

たとえば、ネイティブのナビジョンがSQLバージョンよりも高速に実行されることも知っています...ある時点まで。しかし、より多くのユーザーがシステムで作業する場所 (30-50+)。速度を落とさないことで、ネイティブ navision よりも SQL が優先されます。

SQL サーバーのメモリ設定も確認してください。たとえば、合計14GBのうち10GBなど、固定量のメモリをSQLに割り当てようとします。しばらくしてどれだけ割り当てても、すべてを食べる必要がある場合:)それを使用していることをタスクマネージャーに表示します:)

また、SQL で実行速度が遅い場合は、クエリをチェックして、データベースの最適化を行ってください。たぶん、よりよく計画されたインデックスが仕事をするでしょうか?

于 2013-08-16T17:14:23.573 に答える