2 / 1 / 1
Регистрация: 27.01.2018
Сообщений: 39
|
|
1 | |
Многопоточность FastCGI05.02.2021, 21:12. Показов 990. Ответов 1
Доброго всем утра, дня, вечера и ночи!
Есть ситуация. На сервере (Debian, nginx) для отдельной папки настроено использование FastCGI (через fcgiwrap) (локально). Там лежат скомпилированные бинарники (gcc, C++). Всё, конечно, работает. НО! Не могу добиться многопоточности. Если я делаю запрос (Запрос1), который на долгое время зависает (искусственно сделал долгий цикл, который просто прибавлял значение к переменной, тем самым нагружая ЦП), то и остальные, уже "мелкие" запросы (Запрос2) тоже "подвисают" и только после исполнения того "долгого" запроса исполняется уже "мелкий" (Запрос2). Что касается нагрузки ЦП, то могу сказать следующее: во время исполнения запроса Запрос1 ЦП нагружался наполовину (учитывая, что у меня 2 ядра ЦП). Вопрос: как "распараллелить" эти запросы (Запрос1 и Запрос2), чтобы из-за одного долгого FastCGI-запроса остальные FastCGI-запросы не подвисали (т. е. чтобы во время исполнения запроса Запрос1 исполнялись запросы Запрос2)? (чтобы заодно и использовать все ядра процессора). Есть альтернативы fcgiwrap, которые могут исполнять другие бинарники параллельно? Файл nginx.conf: Кликните здесь для просмотра всего текста
Код
user www-data; worker_processes 2; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; thread_pool one threads=64 max_queue=0; events { worker_connections 768; multi_accept on; accept_mutex off; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 5; types_hash_max_size 2048; sendfile_max_chunk 512k; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; server_tokens off; # more_clear_headers 'Server'; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## #access_log /var/log/nginx/access.log; access_log off; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_vary on; # gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; # include /etc/nginx/sites-enabled/*; } Кликните здесь для просмотра всего текста
Код
server { listen 80; server_name localhost; charset utf-8; access_log off; location / { root /ServerRoot; aio threads=one; index index.htm; } location ~ /api/ { gzip off; aio threads=one; root /ServerRoot; fastcgi_pass unix:/var/run/fcgiwrap.socket; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; # fastcgi_param SERVER_PROTOCOL $server_protocol; # fastcgi_param GATEWAY_INTERFACE CGI/1.1; # fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $host; } }
0
|
05.02.2021, 21:12 | |
Ответы с готовыми решениями:
1
Как посылается запрос по FastCGI Отличие CGI/FastCGI от PHP Apache+mod_php или Nginx+FastCGI FastCGI + Apache - Access to the script has been denied |
2 / 2 / 1
Регистрация: 09.02.2018
Сообщений: 28
|
|
11.02.2021, 04:09 | 2 |
На
unix:/var/run/fcgiwrap.socket; слушает свой демон, который имеет свои настройки (и одновременное число процессов / соединений тоже). Если я правильно помню.
0
|
11.02.2021, 04:09 | |
11.02.2021, 04:09 | |
Помогаю со студенческими работами здесь
2
Истек настроенный для процесса FastCGI тайм-аут запроса Delphi ( + FastCGI) VS C++ ( + FastCGI) Fastcgi-Daemon FastCGI и шаблонизация FastCGI включение вопросы по FastCGI Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |