IIS 앱 풀(Windows Server 2012 R2)의 Worker 프로세스와 Oracle 11g 풀링 간의 관계가 어떻게 되는 것일까요?
저는 C# Framework 4.0으로 작성된 X 응용 프로그램을 가지고 있으며 먼저 Max Worker Process 1을 사용하여 AppPool로 구성한 다음 4로 변경 했습니다.
연결 문자열은 다음과 같습니다:
Data Source = EXAMPLE; User Id = YYYY; Password = BBB; Connect Timeout = 30; Max Pool Size = 100; Pooling = true; Min Pool Size = 5; Incr Pool Size = 5; Decr Pool Size = 2; Connection Lifetime = 300
풀링이 true 로 되어 있고, 현재 작업자 프로세스가 1개 설정 했으므로 총 최대 풀 크기는 100입니다.
저의 질문은 Worker 프로세스를 4로 올리면 최대 풀 크기의 최대 합계가 400 일까요 아니면 100으로 계속 유지 되는 걸까요? (여기서 다음 글을 읽어 보았습니다. https://stackoverrun.com/es/q/4340018)
위 글에서 오케스트레이터가 그 연결 문자열이라고 나왔기 때문에, 만약 해당 (연결)문자열로 반복(요청)되면 이를 트리거하는 요청이 또 하나의 앱 풀(IIS)에서 오더라도 Oracle Pooling에서 재사용됩니다.
다른 질문:
5 개의 연결로 누가 증가시키는 걸까요? (Incr Pool Size = 5) Ado.Net 일까요? 만약 이 응용 프로그램을 닫으면 해당 5개의 연결이 풀에서 제거될까요? 아니면 모두 풀에 들어 있을까요?
매 3분마다 Ado.Net이 풀에서 비활성 연결을 확인한다는 내용을 읽었습니다 ? 과연 그런가요?
Thanks
감사 합니다.
답변>>
IIS 응용 프로그램 풀과 Oracle 연결 풀과 같은 데이터베이스 연결 풀을 혼합하지 마시기 바랍니다.
IIS 응용 프로그램 풀과 Oracle 연결 풀은 전혀 관련이 없습니다.
IIS 풀은 IIS가 가질 수 있는 응용 프로그램 연결 수를 의미하며 또한 이를 가지고 동일한 IIS를 사용하는 다른 웹 응용 프로그램을 격리하는 데 도움을 줍니다.
따라서 IIS worker 프로세스는 앱이 데이터베이스 서버에 연결하는 방법에 대해 관여하지 않습니다.
아래는 IIS 응용 프로그램 풀 설명서의 공식 정의입니다.
응용 프로그램 풀은 해당 응용 프로그램 풀에 할당된 하나 이상의 응용 프로그램에 요청을 제공하는 공통 설정으로 구성된 하나 이상의 작업자 프로세스 그룹으로 정의합니다.
왜냐하면, 응용 프로그램 풀을 사용하면 웹 응용 프로그램 집합이 유사하게 구성된 하나 이상의 worker 프로세스를 공유할 수 있으므로 웹 응용 프로그램 집합을 서버 컴퓨터의 다른 웹 응용 프로그램과 격리하는 편리한 방법을 제공합니다.
출처 입력
이것은 Oracle 연결 풀과 완전히 다른 개념입니다.
이 개념은 기본적으로 Oracle에만 국한된 것이 아니라 모든 데이터베이스 서버의 공통 기능입니다.
기본적으로 연결 풀이 단일 DB 서버에 대해 허용되는 최대 데이터베이스 연결 제한에 도달하기 전에 처리할 수 있는 동시 데이터베이스 연결 수입니다.
왜냐하면 다양한 데이터베이스 서버마다 다르게 고유한 제한 설정 할 수 있기 때문입니다.
이상.
'이것저것' 카테고리의 다른 글
[C# .NET] Windows의 모든 performance counter 나열 하기 (0) | 2023.02.01 |
---|---|
IIS(인터넷 정보 서비스) 모니터링 (0) | 2023.01.31 |
JMeter Loop Count와 JMeter Thread Count (0) | 2023.01.17 |
가상머신 기반의 하이퍼바이저와 컨테이너 기반의 도커 개념과 두 기술 간의 차이점 (0) | 2023.01.09 |
버추얼박스에 요세미티 설치하기 (0) | 2023.01.08 |