Как улучшить или изменить мой код, когда я получаю ошибку «504 Тайм-аут»? - PullRequest
0 голосов
/ 12 февраля 2019

Сервер: MySQL5.7, Django2.1, uWSGI, Nginx Я работаю над проектом Django, я развернул Project на одном сервере и установил MySQL на другом.Когда я использую администратор django для изменения или добавления некоторых элементов, это происходит очень медленно, иногда я не могу получить страницы «изменения» (Nginx дает мне страницу 504), иногда я не могу получить автоматический полный список (представление разработчика Chrome даетмне ошибка 504).

Я пробовал 3 способа улучшения.Первый - это изменение обоих серверов Мбит / с с 1 Мбит / с до 5 Мбит / с, это немного помогло, на некоторых страницах.Но не решили все проблемы.Второй - изменить конфигурацию uWSGI, добавить размер буфера как 32768. Я не уверен, что это помогло, не чувствовал, что помогло.Третий - изменить конфигурацию NGINX, я попытался добавить fastcgi_connect_timeout 300 в файл conf, не работает.Я протестировал использование django runserver и uwsgi для запуска моего проекта, он также довольно медленный (~ 50 с), но без ошибки тайм-аута 504, поэтому я думаю, что это может быть что-то не так с конфигурацией NGINX, но я не знаю, как это сделать.изменить.

Мой код uWSGI.ini:

[uwsgi]
socket = 127.0.0.1:9002
chdir = /home/user/project
wsgi-file = project/wsgi.py
master = true
processes = 4
threads = 2
static-map = /static=static
vacuum = true
daemonize = /home/flwang/oncoview/uwsgi.log
py-autoreload = 1
buffer-size 32768 #This is new

Мой код project_nginx.config:

    upstream django {
        server 127.0.0.1:8000;
    }
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    index index.html index.htm index.nginx-debian.html;

    access_log      /home/user/project/nginx_access.log;
    error_log       /home/user/project/nginx_error.log;

    server_name _;

    location /static/ {
        alias /home/user/project/static/;
    }
location / {
    root /home/user/project; 
    uwsgi_pass django;
    include /home/user/project/uwsgi_params;
}

}

Код NGINX.config:

'''
user  user;
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

'' '

Ожидание просто, измените что-нибудь и сделайте это быстро, по крайней мере, как с помощью uWSGI.Спасибо вам, ребята.И просто Праздник китайской весны, так что, с Новым годом!

ДОБАВИТЬ журнал nginx_error:

2019/02/12 12:17:20 [error] 5748#5748: *4356 upstream timed out (110: 

Connection timed out) while reading response header from upstream, client: 243.14.16.113, server: _, request: "GET /admin/cancer/genev/autocomplete/?term=GATA2%20A4V HTTP/1.1", upstream: "uwsgi://127.0.0.1:9002", host: "www.cancer-know.com", referrer: "http://www.cancer-know.com/admin/cancer/genevdesc/add/"

И журнал uWSGI:

[pid: 2273|app: 0|req: 6/181] 243.14.16.113 () {44 vars in 1031 bytes} [Wed Feb 

13 15:14:21 2019] GET /admin/cancer/genev/autocomplete/ => generated 871 bytes in 2473 msecs (HTTP/1.1 200) 6 headers in 218 bytes (1 switches on core 1)
[pid: 2684|app: 0|req: 78/182] 243.14.16.113 () {44 vars in 1044 bytes} [Wed Feb 13 15:14:22 2019] GET /admin/cancer/genev/autocomplete/?term=k => generated 829 bytes in 47427 msecs (HTTP/1.1 200) 6 headers in 218 bytes (1 switches on core 0)
[pid: 2688|app: 0|req: 14/183] 243.14.16.113 () {44 vars in 1046 bytes} [Wed Feb 13 15:14:23 2019] GET /admin/cancer/genev/autocomplete/?term=kr => generated 786 bytes in 47209 msecs (HTTP/1.1 200) 6 headers in 218 bytes (1 switches on core 0)
[pid: 2688|app: 0|req: 14/184] 243.14.16.113 () {44 vars in 1050 bytes} [Wed Feb 13 15:14:23 2019] GET /admin/cancer/genev/autocomplete/?term=kras => generated 786 bytes in 48160 msecs (HTTP/1.1 200) 6 headers in 218 bytes (1 switches on core 1)
[pid: 2688|app: 0|req: 78/185] 243.14.16.113 () {44 vars in 1048 bytes} [Wed Feb 13 15:14:23 2019] GET /admin/cancer/genev/autocomplete/?term=kra => generated 786 bytes in 49244 msecs (HTTP/1.1 200) 6 headers in 218 bytes (1 switches on core 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...