gunicorn은 일반적으로 사용되는 WSGI 서버입니다. 현재 애플리케이션에서는 uWSGI과 gunicorn이 모두 일반적인 선택이며 둘의 성능은 크게 다르지 않습니다. 2 * cpu数 + 1 공식 홈페이지에서 구성한 작업자 수의 예시 값은
이고, 공식 홈페이지 예시는
입니다.
으아악
5따라서 해당 주체의 듀얼코어 서버에 대해서는
로 적절하게 설정해야 합니다.
supervisor과 Gunicorn는 Redis뿐만 아니라 supervisor 관리에도 사용하는 등 다양한 프로세스를 관리하는 데 사용할 수 있는 프로세스 관리 도구입니다. 실제로 worker의 procs 수량과 비슷한 것이 있는데, 이는 실제로 프로세스 수를 의미합니다. 즉, 몇 가지를 구성하면 supervisor을 사용하여 여러 프로세스를 시작할 수 있습니다. .
supervisor과 Gunicorn의 작업자는 독립적이라는 점에 유의해야 합니다. 둘 다 5로 설정한다고 가정하면 실제로 서비스를 제공하는 프로세스는 5 * 5 = 25개가 됩니다.
nginx은 일반적으로 역방향 프록시 및 로드 밸런싱에 사용됩니다. 서버에서 로컬로 실행되는 두 개의 웹 애플리케이션이 있다고 가정합니다.
http://127.0.0.1:5000 블로그
http://127.0.0.1:8080 포럼
그런 다음 도메인 이름을 통해 두 애플리케이션에 별도로 액세스하려고 합니다(예:
).
http://baidu.com/blog 블로그
http://baidu.com/bss 포럼
그런 다음 nginx를 통해 구성할 수 있습니다.
gevent은 코루틴용 라이브러리로 일반적으로 IO密集型 애플리케이션에 사용되며 권장되지 않습니다. IO密集型 애플리케이션이라면 Tornado 프레임워크를 사용하여 작성하는 것이 좋습니다.
worker
인지Nginx
의Process
인지는 서버의CPU
코어 수에 따라 결정됩니다. 귀하의 Alibaba Cloud에는 듀얼 코어(2个核
)만 있습니까?gunicorn
에 대해서는 잘 모르지만uWSGI
에도worker
이 있는데 보통核数X2
으로 설정되어 있어요.Nginx
8
과정이면 충분하다고 합니다.Nginx
최적화를 온라인으로 검색하면 튜토리얼이 꽤 많이 있을 것입니다.worker
에 대해서는 기본적으로 실제CPU
코어 수의 1~2배를 권장합니다. 저는 보통 코어 수만큼worker
을 사용합니다.supervisor
의 경우worker
에 대한 설정이 보이지 않는 것 같습니다.사실 저는
uwsgi
+supervisor
+nginx
조합을 사용해요.google
세부정보를 다운로드할 수 있습니다. 저는 공식wiki
을 따랐을 뿐이고 화려한 내용은 사용하지 않았습니다.추신: 중국어 자료를 포기하세요. 대부분이 파손 상태입니다. 영어는 읽기 쉽지 않지만 적어도 구덩이에 들어갈 수는 없습니다.
구니콘 작업자 수는 일반적으로 경험 관점에서 구성됩니다
2 * core + 1
, 코어는 코어 수를 의미합니다.Supervisor는 작업자 수를 구성하는 개념은 없지만 프로세스 수를 구성합니다.
numprocs
이 필드gunicorn을 사용한다면 일반적으로
worker_class
를gevent
로 구성하는 것이 좋습니다.
이고, 공식 홈페이지 예시는gunicorn
은 일반적으로 사용되는 WSGI 서버입니다. 현재 애플리케이션에서는uWSGI
과gunicorn
이 모두 일반적인 선택이며 둘의 성능은 크게 다르지 않습니다.2 * cpu数 + 1
공식 홈페이지에서 구성한 작업자 수의 예시 값은입니다. 으아악
로 적절하게 설정해야 합니다.5
따라서 해당 주체의 듀얼코어 서버에 대해서는supervisor
과Gunicorn
는Redis
뿐만 아니라supervisor
관리에도 사용하는 등 다양한 프로세스를 관리하는 데 사용할 수 있는 프로세스 관리 도구입니다. 실제로worker
의procs
수량과 비슷한 것이 있는데, 이는 실제로 프로세스 수를 의미합니다. 즉, 몇 가지를 구성하면supervisor
을 사용하여 여러 프로세스를 시작할 수 있습니다. .supervisor
과Gunicorn
의 작업자는 독립적이라는 점에 유의해야 합니다. 둘 다 5로 설정한다고 가정하면 실제로 서비스를 제공하는 프로세스는 5 * 5 = 25개가 됩니다.nginx
은 일반적으로 역방향 프록시 및 로드 밸런싱에 사용됩니다. 서버에서 로컬로 실행되는 두 개의 웹 애플리케이션이 있다고 가정합니다.http://127.0.0.1:5000 블로그
http://127.0.0.1:8080 포럼
그런 다음 도메인 이름을 통해 두 애플리케이션에 별도로 액세스하려고 합니다(예:
).http://baidu.com/blog 블로그
http://baidu.com/bss 포럼
그런 다음 nginx를 통해 구성할 수 있습니다.
gevent
은 코루틴용 라이브러리로 일반적으로IO密集型
애플리케이션에 사용되며 권장되지 않습니다.IO密集型
애플리케이션이라면Tornado
프레임워크를 사용하여 작성하는 것이 좋습니다.그 정도입니다. 더 많은 공식 문서를 읽어보는 것이 좋습니다.