#nginx #networking
Вопрос:
У меня есть API Flask, когда мы вызываем этот API, он удаляет данные с нескольких веб-сайтов и возвращает очищенные данные в качестве ответа.
Я следовал этому руководству по настройке API: https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-ubuntu-18-04
Обычно он работает нормально, но когда я вызываю его из нескольких кластеров одновременно, он возвращает ошибку тайм-аута 504.
upstream timed out (110: Connection timed out) while reading response header from upstream, upstream: "http://unix:/home/api/scrapedata.sock/data/?country=INamp;query=abcd"
Если я перестану вызывать API из некоторых кластеров (это означает меньший трафик), он снова будет работать нормально.
Мое nginx.conf
досье:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
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;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Если я выполню top
команду в терминале
Я вижу, что Memory Free: 29GB
CPU Utilization : 5%
У меня есть одна сетевая карта, подключенная к серверу.
lspci | grep -i eth
Выход:
00:12.0 Ethernet controller: Red Hat, Inc. Virtio network device
Мое первое предположение заключается в том, что, возможно, сетевое устройство (сетевой адаптер) перегружено?
Что может вызвать эту проблему?
Как исследовать это дальше?
Any possible solutions?