Erreur: en amont de la fermeture prématurée de la connexion lors de la lecture de la réponse de l'en-tête de l'amont [uWSGI/Django/NGINX]

Je suis actuellement TOUJOURS obtenir un 502 sur une requête mes utilisateurs sont en train de faire... ce qui revient habituellement 872 lignes et prend 2.07 à exécuter dans MySQL. Cependant, il est de retour BEAUCOUP d'informations. (Chaque ligne contient beaucoup de choses). Des idées?

De l'exécution de l'Django (tastypie API Rest), Nginx et uWSGI pile.

La configuration du serveur avec NGINX

# the upstream component nginx needs to connect to
upstream django {
    server unix:///srv/www/poka/app/poka/nginx/poka.sock; # for a file socket
}

# configuration of the server
server {
    # the port your site will be served on
    listen  443;


    # the domain name it will serve for
    server_name xxxx; # substitute your machine's IP address or FQDN
    charset     utf-8;

    # max upload size
    client_max_body_size 750M;   # adjust to taste

    # Finally, send all non-media requests to the Django server.
    location / {
        uwsgi_pass  django;
        include     /srv/www/poka/app/poka/nginx/uwsgi_params; # the uwsgi_params file you installed
    }
}

UWSGI config

# process-related settings
# master
master          = true
# maximum number of worker processes
processes   = 2
# the socket (use the full path to be safe
socket          = /srv/www/poka/app/poka/nginx/poka.sock
# ... with appropriate permissions - may be needed
chmod-socket    = 666
# clear environment on exit
vacuum          = true

pidfile = /tmp/project-master.pid # create a pidfile
harakiri = 120 # respawn processes taking more than 20 seconds
max-requests = 5000 # respawn processes after serving 5000 requests
daemonize = /var/log/uwsgi/poka.log # background the process & log
log-maxsize = 10000000
#http://uwsgi-docs.readthedocs.org/en/latest/Options.html#post-buffering
post-buffering=1
logto = /var/log/uwsgi/poka.log # background the process & log
  • Réponse évidente serait de diviser les données ou augmenter le délai d'attente. N'est-ce pas le travail?
  • Où puis-je augmenter ce délai? L'augmentation de la harakiri n'aide pas... il faut que je partage en effet les données dans un futur proche... mais je n'ai pas le temps maintenant ...
  • Je suppose 2.07 sont secondes? Rien dans les logs? Exécuter uWSGI HTTP server directement pour voir si uWSGI ou nginx est l'étouffement?
  • Ouais en quelques secondes... mais le truc, c'est que 872 lignes n'est rien pour l'instant... il peut atteindre 10 000 dans un proche avenir. Mais l'utilisateur devra obtenir ces 10 000 lignes d'une façon ou d'une autre dans son iPad. Devrais-je commencer à chercher dans l'envoi des données en lots?
InformationsquelleAutor abisson | 2014-02-28