J'ai un site django qui a seulement une interface d'administration, puisque c'est une chose interne.Pourquoi mon site django/psql est-il si incroyablement lent?
Des pages simples se chargent presque instantanément, comme par exemple une table de 10 éléments.
Mais une page avec beaucoup d'inlines et ainsi de suite prendra 5-10 secondes à charger, parfois même plus longtemps. C'est presque inutilisable.
La base de données n'est pas une base de données par tout chemin. J'ai quelques douzaines de modèles et aucune table n'a plus de 500 entrées.
Exécution d'Ubuntu 10.04 sur un Xeon quad-core récent avec 12 Go de RAM.
Les problèmes se produisent avec le serveur de production (mod_wsgi) et avec le serveur de développement. Généralement pire avec le serveur de production, mais les deux sont très lents.
Pendant le délai, un noyau de processeur maximum pour apache (si j'utilise le serveur de production) ou python (si j'utilise le serveur de développement).
J'ai essayé de jouer avec WSGIDaemonProcess, en changeant le nombre de threads et de processus, mais en vain. Ci-dessous est mon fichier de configuration apache, mais comme je l'ai dit j'ai des problèmes avec le serveur de dev aussi, donc ce n'est pas vraiment un problème d'apache.
Merci pour toute aide. Toutes mes excuses pour une mauvaise utilisation de la terminologie, etc. Je suis un programmeur C et MATLAB et je ne connais pas vraiment grand-chose des serveurs, réseaux, bases de données ou python. Aussi, je me rends compte qu'il y a plusieurs threads sur les réponses django lentes, et je les ai toutes lues, mais je n'ai rien trouvé qui aide ma situation. Merci!
WSGIDaemonProcess MY_ACTUAL_IP_ADDRESS user=MY_USERNAME group=MY_USERNAME threads=4
WSGIProcessGroup MY_ACTUAL_IP_ADDRESS
WSGIScriptAlias /wsgi /neuroling/projects/neuroxy/neuroxy_project/neuroxy.wsgi
<Directory /neuroling/projects/neuroxy/neuroxy_project/>
Order allow,deny
Allow from all
</Directory>
Alias /media/ /var/www/media/
Alias /static/ /var/www/static/
<Directory /var/www/static>
Order deny,allow
Allow from all
</Directory>
<Directory /var/www/media>
Order deny,allow
Allow from all
</Directory>
Que voulez-vous dire par "beaucoup d'inlines?" En outre, essayez d'ouvrir la page, enregistrez le contenu (Ctrl + S) en tant que fichier HTML sur votre bureau, puis rouvrez à partir du bureau. Si c'est encore lent, c'est le navigateur, s'il est rapide, c'est le serveur et on peut approfondir. Je suis sûr que c'est le serveur si le processeur est embourbé, mais juste pour être absolument sûr. – Furbeenator
Sur le type de page le plus lent, il y a six inlines, qui ont généralement entre zéro et deux entrées. Mais sur une autre page qui prend aussi quelques secondes à charger, il y a juste un en ligne, qui a généralement environ 10 entrées. J'ai enregistré la page Web comme vous l'avez suggéré, et il peut ensuite être ouvert instantanément avec FireFox. Alors oui, c'est le serveur, pas le navigateur. Merci pour toute aide! – smwilsonau
Essayez de publier au moins une partie du code de vue qui renvoie le contexte au modèle. Peut-être qu'il y a des boucles incorporées ou une autre séquence de code parabolique. Assurez-vous simplement qu'il n'y a pas d'informations confidentielles. – Furbeenator