WebAPI/WCF와 함께 호스팅되는 HTTP 계층을 통해 공개하려는 "엔진"이 있습니다.웹 응용 프로그램의 멀티 스레딩 (WCF/WebAPI)
이 엔진은 대용량 데이터에 대해 간단한 읽기 전용 작업을 수행하며 실제로 병렬 처리의 이점을 얻을 수 있습니다. 간단한 (...)에서 Parallel.For (...) 로의 간단한 전환은 놀라운 일입니다.
이제는 웹 서버에서 이러한 종류의 멀티 스레딩을해서는 안되기 때문에 호스트하는 가장 좋은 방법을 찾으려고합니다.
이상적으로 WebAPI 또는 WCF를 사용하여 IIS에서 표준 웹 응용 프로그램으로 호스팅하고 싶습니다. 이것이 좋은 해결책이 아니라면, 좋은 대안이 무엇일까요?
표준 Windows 서비스에서 WebAPI 또는 WCF를 자체 호스팅하는 것이 더 좋습니까? 나는 여기에 문제가 IIS 또는 ASP.NET 특정 있는지 모르겠습니다.
어쩌면 이것은 문제가 아니며 너무 걱정 스럽습니까?
모든 의견을 보내 주시면 감사하겠습니다.
감사
감사의 말은 잘못 정의 된 질문에 사과드립니다. 웹 응용 프로그램에서 스레드를 생성하여 IIS가 요청을 처리하는 데 사용하는 동일한 스레드 풀에서 스레드를 할당한다는 인상을 받았습니다 (지금 참조를 찾는 데 어려움이 있습니다). 따라서 동시 사용자 수를 늘리면 기본적으로 IIS가 새 요청을 처리하지 못하게하는 스레드 풀이 고갈 될 가능성이 큽니다. 이제 2 개의 스레드 풀이 동일하지 않은 경우, 이는 분명히 적용 할 수 없습니다. 더 의미가 있습니까? – Pedro
a) ASP.NET과 작업을위한 스레드 풀은 동일하지만 응용 프로그램이 오버로드되지 않는 한 문제가되지 않습니다. 오버로드 된 경우 스레딩과 상관없이 문제를 해결해야합니다. 평행법은 과부하 (상당히)를 악화시키지 않습니다. b) TaskScheduler API를 사용하여 두 번째 스레드 풀을 사용할 수는 있지만 과부하는 해결되지 않습니다. 도움이되지 않습니다. 내가 다루어야 할 다른 모든 관심사는 무엇입니까? – usr