-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Beta 15.5.1] Amélioration des performances des pages liste des article, liste des tutos, home #2724
[Beta 15.5.1] Amélioration des performances des pages liste des article, liste des tutos, home #2724
Conversation
|
Travis gueule sur un truc nomme Sinon un petit bout de doc (equivalent de ta PR en fait) serait le bienvenu |
Non, je pense que c'est lié à ce que dit Landscape : j'aurais plutôt enlevé des éléments à |
Sinon pour QA tu aurais un bout de doc qque part sur "comment activer du cache" ? |
Rien de mieux que la doc Django. |
Quelques remarques pour moi :
|
|
Il faudrait décrire plusieurs type de scénarios. Voici quelques pistes : Scénario 1 (montrer que la cache fait son boulot):
Scénario 2 (montrer que la cache se reset quand il faut): Idem que le scénario 1, puis tu publies un tutoriel et tu relance ton comptage de requêtes. Tu devrais avoir un peu plus que le tout premier compte. NB : Les deux sécnarios précédents supposent que tu sais combien de requêtes tu lance en temps normal. Scénario 3 (inspecter les clés de cache):
On peut imaginer de nombreux autres cas. Voilà, en gros comment je vois les tests sur le cache. Basées essentiellement sur l'api de django cache ou encore sur le nombre de requêtes SQL lancés. |
D'accord, mais en pratique, est-ce que ça marche ? Parce que tous tes tests Le 19 mai 2015 14:26, firm1 notifications@github.com a écrit :
|
L'API de django cache te permet de cleaner ton cache. Tu peux le faire avant chaque test pour t'assurer que ton contexte est le bon. |
La contrainte que tu mets sur les scénarios 1 et 2 n'est pas possible, puisque ce nombre de requête change très souvent. A la limite pour le 2 on peut vérifier qu'on a plus de requêtes qu'avant. Le scénario 1 n'a pas d'intérêt, "vérifier que l'outil fait bien ce qu'on veut" c'est un scénario qui doit se trouver dans l'outil. Si on commence à vérifier tous nos outils, on en a jamais fini. Le scénario 3, je ne comprends pas ce que tu essaies de vérifier avec. PS : Dans tous les cas, ta méthode fait des tests ultra-lourds à mettre en place. @Situphen les labels sur les PRs ne servent à rien, je pense. |
@SpaceFox : ils servent à trier les PRs |
Est-ce un besoin ? 2015-05-19 16:59 GMT+02:00 Situphen notifications@github.com:
|
Pour plus facilement repérer ce qui est urgent (Bloquant, Régression, Bug...) oui. Après, ce n'est pas non plus vital, hein ! |
Vérifier qu'on a moins de requête qu'avant dans la mesure du possible serait déjà très bien.
Il sert juste a vérifier l'intégration entre l'outil et l'application. On peut avoir memcached installé mais qui n'est jamais vraiment utilisé.
ça doit faire 4 méthodes de tests à tout péter avec 10 lignes max par test sur cette PR. Je ne pense pas que ça prenne plus d'1min à s'éxecuter. |
D'autre part, je ne pense pas avoir le temps de comprendre les erreurs Travis et de faire des tests unitaires pour ce truc. |
|
Bon, Cf le bug #2727, on ne peut pas activer Memcached en l'état sans se priver des tests Travis. Donc je le supprime, et tant pis pour toute forme de test unitaire sur le cache pour l'instant. |
Il y a un moyen simple de connaître le nombre de requêtes faites en BDD ? |
La django toolbar te les donne :) |
Bon. Tout d'abord, questions (pour savoir si j'ai fait la QA convenablement):
Si tel est le cas,
Par contre, détail un peu bizarre: logiquement, on a "écrit par vous" dans le cas ou le tuto/l'article l'est. Mais quand on se déconnecte, on garde le "écrit par vous". Pire encore, si on emplois un autre navigateur, la page reste pareil. Et forcément, quand on se connecte avec quelqu'un de différent, même chose, des "écrit par vous et user" alors qu'on est connecté avec user. Du coup, va falloir retirer le "vous", si on veux que cette PR voie le jour. |
Pour tes questions :
Par contre le problème de l'invalidation m'étonne. Je soupçonne un problème avec l'URL forcée dans le cas des commentaires d'articles (un cas qui ne devrait jamais exister d'ailleurs : forcer une URL).
Si ça permet de simplifier la ligne qui crée la liste des auteurs, c'est une bonne chose, parce qu'aujourd'hui elle est à peu près incompréhensible. |
J'ai fait une PR sur la branche a @SpaceFox |
Suppression du 'vous'
|
Debian. Du coup, si c'est un service, c'pas comme ça que je devrait le lancer, en théorie. Mais soit.
?!? |
On en est ou la ? |
Il faut que je regarde ça, mais je n'ai pas eu le temps. Peut-être ce soir. |
J'ai installé memcached sur mon instance. zds.francoisdambrine.me et j'y ai mis cette PR en exécution. Je n'ai pas vu de doc spéciale quant à l'installation du cache je me suis donc contenté de faire un sudo apt-get install memcached puis sudo service memcached start. |
Tous les problèmes signalés provenaient de la même source et devraient être corrigés. |
|
Ok pour moi. Bon, évidement, ça va pas sans #2732, sans quoi on aurait un problème :) |
(j'attend quand même Travis pour le principe) |
[Beta 15.5.1] Amélioration des performances des pages liste des article, liste des tutos, home
…iste_tutos [Beta 15.5.1] Amélioration des performances des pages liste des article, liste des tutos, home (reverted from commit f1aeb9d)
…iste_tutos [Beta 15.5.1] Amélioration des performances des pages liste des article, liste des tutos, home (reverted from commit f1aeb9d)
Les nouvelles pages "Liste des tutos", "Liste des articles" et la home sont beaucoup plus lourdes que les actuelles, ce qui est problématique parce que ce sont des pages très vues.
Or, ces pages sont constituées d'éléments qui bougent très peu :
Les blocs des forums (en pied de home), par contre, sont très souvent mis à jour.
Donc, j'ai mis du cache sur les 4 premiers types de blocs listés, avec les règles suivantes :
Tout ceci réduit très massivement le poids de ces pages pour un risque d'erreur de cache minime. Caches remplis :
Comment QA tout ceci ?
PS : Ce message est bien plus long que la PR...