Windows에서 Django 서버를 Apache/Mod_WSGI에서 실행하고 있습니다. 사용자 요청 처리의 일환으로 네트워크 I/O가 필요한 많은 작업을 수행합니다. 장고 ORM (다른 컴퓨터의 데이터베이스 서버)을 통해 쿼리를 실행합니다. 나는 또한 Django가 아닌 ODBC 쿼리를 만들고 네트워크 공유에있는 파일과 디렉토리를 읽고 다른 웹 사이트를 긁어 낸다.Django 내에서 블로킹 네트워크 호출은 모든 스레드를 차단합니까?
저는 적어도 네트워크 I/O 중 일부가 차단되고 있다고 확신합니다 (ODBC 쿼리와 웹 스크래핑을 염두에 두어야합니다). Windows의 Apache에는 다중 프로세스 모델이 아닌 스레드 처리 모델 만 있습니다.
첫 번째 질문은 : 요청에 응답하는 동안 네트워킹 네트워킹 호출을 차단하면 아파치 서버 내의 모든 스레드 또는 요청에 응답하는 스레드를 차단합니까?
두 번째 질문은 다음과 같습니다. 비 차단이라고 알려진이 네 가지 종류의 네트워크 호출 (Django ORM, ODBC, 네트워크 공유, HTTP)이 있습니까?