사용자가 서버에서 C 프로그램을 실행할 수있게 해주는 Django
으로 웹 응용 프로그램을 개발하려고합니다. 코드에서원격 코드 실행 용 Django가 설치된 웹 응용 프로그램
- 사용자 유형과
- 코드 서버로가는 '
Submit
'버튼을 클릭; 나는 현재 다음하고있어 단계는 서버는 - 코드
subprocess.Popen()
- 출력 (오류)에 대한 호출을 사용하여 컴파일 다시 브라우저
이 간단한 모델에 반환되고, 잘 작동 임시 파일에 넣습니다. 그러나, 나는 이것이 "완벽한"모델입니다 있는지 확실하지 않습니다, 그리고 확장 성 (보안)의에 대해 좀 우려했습니다 :
- 이
threading
를 사용하는 것이 더 있을까? multiprocessing
을 사용하는 것이 더 좋습니까?- 포크 폭탄 문제는 자신이 제기 한 관련 질문에서 지적되었습니다 here - 어떻게 처리해야합니까? 이러한 상황을 처리 할 수있는
apache2.conf
의 설정은 무엇입니까?
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
말할 때 나는 경우를 고려 중이 야, 5, 15, 50 명의 사용자가 동시에 자신의 코드를 실행하려고합니다. 또한 당분간 악성 코드가 작성되지 않는다고 가정하고 있습니다.
Apache2를 사용하는 mod_wsgi
및 mpm-prefork
이 사용되고 있습니다.
의견을 보내 주셔서 감사합니다.
mod_wsgi의 임베디드 모드를 사용하고 MPM을 프리 프레킹하는 것은 좋지 않은 아이디어입니다. http://blog.dscpl.com.au/2009/03/load-spikes-and-excessive-memory-usage.html을 읽어보십시오. –