아파치 mod_wsgi에 전개 된 Django 애플리케이션을 개발하면서 멀티 스레딩 (파이썬 스레드, mod_wsgi 프로세스 = 1 스레드 = 8)의 경우에 파이썬이 사용 가능한 모든 프로세서를 사용하지 않는다는 것을 발견했습니다. 다중 처리 방식 (mod_wsgi processes = 8 threads = 1)을 사용하면 모든 것이 잘되고 내 컴퓨터를 가득 채울 수 있습니다.파이썬은 모든 프로세서를 스레드 모드로 사용합니까?
그래서 질문 :이 파이썬 동작이 정상입니까? 몇 가지 스레드가있는 1 개의 프로세스를 사용하는 것이 기본 mod_wsgi 방식이기 때문에 나는 그걸 의심합니다.
시스템은 다음과 같습니다
2xIntel 제온 5XXX 시리즈 (8 개 코어 (하이퍼 스레딩 16)) FreeBSD의 7.2 AMD64에와 2.6.4
덕분에 모든 답변 파이썬. GIL 때문에이 동작이 정상적인 것으로 나타났습니다. 여기 좋은 설명이 있습니다 : http://jessenoller.com/2009/02/01/python-threads-and-the-global-interpreter-lock/ 또는 stackoverflow GIL 토론 : .
왜이 질문에는 3 개의 upvote가 있었습니까? 단순한 구글 검색은 만족 스러울 것입니다. – aaronasterling
@aaronasterling : 우리는 간단한 질문과 간단한 대답으로 stackoverflow를 큰 지식 데이터베이스로 만들고 싶습니다. STFG – HardQuestions