配置了一下午环境,跑起来是跑起来了,但是寻摸着一次琢磨透他们嘛。
鉴于gunicorn,supervisor用的不多,网络上找到资料很少(中文)
英文的也有些不太好懂。
想问下gunicorn可以设置worker设置几个比较合适呢。阿里云服务器,双核的。
supervisor是不是也有设置类似worker的地方,配置一下午迷糊了。
nginx呢。
晕乎乎的。
另外gevent不太了解,这个有必要上吗。我看配置起来蛮简单的。有什么优缺点呢。
谢谢各位。
阿神2017-04-18 09:17:36
worker
인지 Nginx
의 Process
인지는 서버의 CPU
코어 수에 따라 결정됩니다. 귀하의 Alibaba Cloud에는 듀얼 코어(2个核
)만 있습니까?
gunicorn
에 대해서는 잘 모르지만 uWSGI
에도 worker
이 있는데 보통 核数X2
으로 설정되어 있어요.
Nginx
8
과정이면 충분하다고 합니다.
Nginx
최적화를 온라인으로 검색하면 튜토리얼이 꽤 많이 있을 것입니다.
PHP中文网2017-04-18 09:17:36
worker
에 대해서는 기본적으로 실제 CPU
코어 수의 1~2배를 권장합니다. 저는 보통 코어 수만큼 worker
을 사용합니다.
supervisor
의 경우 worker
에 대한 설정이 보이지 않는 것 같습니다.
사실 저는 uwsgi
+ supervisor
+ nginx
조합을 사용해요. google
세부정보를 다운로드할 수 있습니다. 저는 공식 wiki
을 따랐을 뿐이고 화려한 내용은 사용하지 않았습니다.
추신: 중국어 자료를 포기하세요. 대부분이 파손 상태입니다. 영어는 읽기 쉽지 않지만 적어도 구덩이에 들어갈 수는 없습니다.
高洛峰2017-04-18 09:17:36
구니콘 작업자 수는 일반적으로 경험 관점에서 구성됩니다2 * core + 1
, 코어는 코어 수를 의미합니다.
Supervisor는 작업자 수를 구성하는 개념은 없지만 프로세스 수를 구성합니다. numprocs
이 필드
gunicorn을 사용한다면 일반적으로 worker_class
를 gevent
로 구성하는 것이 좋습니다.
ringa_lee2017-04-18 09:17:36
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
프레임워크를 사용하여 작성하는 것이 좋습니다.
그 정도입니다. 더 많은 공식 문서를 읽어보는 것이 좋습니다.