У меня есть уникальная ситуация по отношению к памяти, потребляемой нашим продуктом (встроенная .NET-Web) и аппаратно-оперативной памятью.Необходимые показатели: максимальное выделение памяти Windows-Server-2012 для .NET-программы
Клиент, для которого продукт находится в эксплуатации, имеет следующую конфигурацию в среде ПРОДУКЦИЯ.
Оборудование:
- [а] Dual Xeon X5570 2,93 ГГц Quad Core CPU с 3,33 TURBO, 6.4GT/с QPI И 8MB CACHE [B] 144GB RAM - ПАМЯТЬ [C] 8x 600GB 10K 2,5" SAS HDD [d] SMART ARRAY P410i RAID CONTROLLER с батареей и 256 Мбайт КЭШ [е] 4x ГИГАБИТНЫЕ ETHERNET [е] DUAL 460W ПИТАНИЯ
Программное обеспечение (все в одном окне):
- [а] Windows Server 2012 - 64bit [б] .NET Framework 4.5 [с] SQL Server
2012 Enterprise Server Edition
Теперь только из-за 144GB-RAM и высокой volúmen-HDD, наш клиент ожидает, что приложение должно работать «супер-быстро» и, таким образом, работать лучше.
Клиент - полностью не ИТ-организация. Он уже объяснил им, независимо от того, насколько высока скорость RAM/HDD, Windows-OS в конечном итоге имеет ограничения на то, сколько памяти она может выделить для программы (через .NET-framework и SQL-Engine), чтобы данная .NET-программа «выполнит» в хорошо соприкасающейся, плоской, несегментированной области памяти.
Они НЕ МОГУТ ДАВИТЬ этот аргумент. Таким образом, у меня есть googled, чтобы увидеть, есть ли какая-либо техническая статья, блог или любая такая вещь, которая объясняет в этих строках, но без особого успеха. В основном то, что должно быть передано через некоторую ссылку на веб-статью: независимо от того, сколько бы вы ни производили, вы улучшаете свое оборудование, объем памяти, выделяемой исполняющей программе, регулируется и ограничен OS.
Есть ли какой-либо анализ MSDN или анализ профайлера Red-Gate, который дает некоторые номера, чтобы предложить максимальную память, которая распределяется Windows-64bit-Server-2012 для выполнения данной .NET-программы (или даже SQL -2012 - выполнение процедуры хранения).
Например - Эта ссылка http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memory говорит следующее для 32-разрядной ОС. «Каждый процесс в многозадачной ОС работает в своей изолированной песочнице. Это песочница - это виртуальное адресное пространство, которое в 32-битном режиме всегда является блоком памяти объемом 4 ГБ».
Я ищу что-то похожее, как ссылка на блог/msdn, для 64-разрядной ОС Windows-SERVER-2012 и ЕСЛИ эта статья больше говорит о перспективе .NET-Framework-CLR, быть «заклепыванием» ... !!!