시작하려면 - 데이터베이스 액세스를 위해 Linq-To-SQL을 사용하는 2 개의 별도 웹 사이트와 데이터베이스 (IIS 7.5, ASP.NET 및 SQL Server 2008)가 있습니다.웹 사이트의 데이터베이스 사용 제한
때때로 데이터베이스에서 장기간 작동 (10 초 이상)을 트리거해야하는 별도의 관리 웹 사이트가 있습니다. 문제는 이러한 작업으로 인해 sqlserver 프로세스가 100 % CPU에 충돌 한 다음 다른 주요 고객 웹 사이트가 데이터베이스에 즉시 액세스 할 수 없다는 것입니다. 데이터베이스에 액세스하는 데 약간의 지연이 있습니다.
우선 순위가 낮기 때문에 관리 작업이 2 배나 4 배나 nx 배나 오래 지속되면 정상입니다.
IIS에서 AppPool의 CPU 제한 설정을 사용해 보았지만 w3wp.exe 프로세스가 CPU를 많이 사용하지 않으므로 sqlservr.exe가 유용합니다. 미리 제안 해 주셔서 감사합니다.
단 한 가지 - 다음과 같이 응답하지 마십시오. 장기 실행 작업에 SQL을 최적화하거나 데이터베이스/서버를 분리하고 동기화 할 관리 웹 사이트를 가리 킵니다. 나는 이미 그렇게하려고 노력했다. 나는 오히려 "내 쿼리를 실행하지만 최대 30 %의 CPU를 사용하라"라고 말할 수있는 방법을 찾고자합니다. 내 견고성면에서 가장 좋은 해결책이 될 것이기 때문입니다. 또는 연결 문자열에서 최대 CPU 사용량을 설정할 수 있다면 완벽 할 것입니다. – kape123
IIS 리소스를 제한하면 데이터베이스에 어떤 영향을 미칠 것이라고 생각합니까? – Oded
@Oded 나는 "IIS에서 AppPool 사용을 제한 해 봤습니다."라는 대답을 피하기 위해 언급했지만, 분명히 주석에 쓸모없는 질문을 일으킬 수 있다는 것을 잊어 버렸습니다. 미안 내 실수. – kape123