Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Кога мога да хоствам IIS и SQL Server на една и съща машина?

Не е разумно да стартирате SQL Server с който и да е друг продукт, включително друг екземпляр на SQL Server. Причината за тази препоръка е естеството на начина, по който SQL Server използва ресурсите на ОС. SQL Server работи на инфраструктура за управление на паметта в потребителски режим и планиране на процесора, наречена SQLOS . SQL Server е проектиран да работи с максимална производителност и предполага, че това е единственият сървър в операционната система. Като такава SQL OS запазва цялата RAM на машината за SQL процес и създава планировчик за всяко ядро ​​на процесора и разпределя задачи за изпълнение на всички програмисти, като използва целия процесор, който може да получи, когато има нужда от него. Тъй като SQL запазва цялата памет, други процеси, които се нуждаят от памет, ще накарат SQL да види натиск на паметта , а отговорът на натиска на паметта ще извади страниците от буферния пул и компилираните планове от кеша на плановете. И тъй като SQL е единственият сървър, който действително използва паметта известие API (има слухове, че следващият Exchange също ще го направи), SQL е единственият процес, който всъщност се свива, за да даде място на други процеси (като пропускащи ASP пулове с грешки). Това поведение е обяснено и в BOL:Управление на динамична памет .

Подобен модел се случва с планирането на процесора, където други процеси крадат процесорно време от SQL планировчиците. На системи от висок клас и на машини Opteron нещата се влошават, защото SQL използва NUMA локалност за пълно предимство, но няма други процеси, които обикновено не са наясно с NUMA и, доколкото операционната система може да се опита да запази локалността на разпределенията, те в крайна сметка разпределят цялата физическа RAM и намаляват общата пропускателна способност на системата като процесори са на празен ход в изчакване за достъп до страницата между numa границите. Има и други неща, които трябва да имате предвид, като TLB и увеличаване на пропуските на L2 поради други процеси, които заемат CPU цикли.

И така, за да обобщим, вие можете стартира други сървъри с SQL Server, но не се препоръчва. Ако трябва , след това се уверете, че изолирате двата сървъра по най-добрия начин. Използвайте CPU маски за афинитет за и двете SQL и IIS/ASP, за да изолирате двете в отделни ядра, конфигурирайте SQL да резервира по-малко RAM, така че да оставя свободна памет за IIS/ASP, конфигурирайте вашите пулове приложения да рециклират агресивно, за да предотвратите растежа на пуловете от приложения.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да оптимизирате SQL 'XQuery'

  2. Използване на TSQL за разархивиране на стойност

  3. Sql Server задейства вмъкване на стойности от нов ред в друга таблица

  4. Три водещи тенденции, засягащи DBA, отговорни за наблюдението на SQL Server

  5. Създаването на рамков модел на Entity обхваща множество бази данни