Se connecter

Informatique

Création de sites web

Sujet : [OVH] Nombre de requêtes SQL limité?
1
Pseudo supprimé
Niveau 8
27 mars 2015 à 09:39:02

Bonjour,
Je développe un chat en Ajax (je sais que les websocket et d'autres technologies sont plus adaptés, mais là n'est pas le sujet :) ), et j'ai optimisé pas mal l'envoie de requêtes (toutes les 2 secondes, je regarde si y'a une nouvelle entrée en bdd, et si oui alors on a toutes les requêtes pour déterminer les infos sur l'auteur de chaque message).

Cependant, j'ai peur d'avoir des soucis niveau OVH, car j'ai une courbe avec un gros pic hier (on était 15 pendant 4-5h je dirais), et je sais pas quoi penser de ces statistiques :

http://i.imgur.com/2iwiXvP.png

lisarael
Niveau 13
28 mars 2015 à 08:38:48

Je ne pense pas qu'il y ait du capping sur MySQL chez OVH, ceci dit, vaudrait mieux poser la question sur leurs forums.

Par contre, je ne comprends pas trop comment tu arrives à ce chiffre avec juste 15 personnes connectées : 30 requêtes/s * 15 personnes, ça fait 450... en admettant que chaque utilisateur écrit un message par seconde, ça fait 900 requêtes supplémentaires... tu as sûrement encore pas mal d'optims à faire (comme par exemple garder en cache les données des utilisateurs actifs les 10 dernières minutes, pour éviter de les requêter à chaque fois).

Et, de fait, tu devrais t'intéresser aux websockets et à une bdd plus adaptée, comme MongoDB, par exemple ('fin bon, ça dépend des contraintes que tu as, on est d'accord).

Pseudo supprimé
Niveau 8
29 mars 2015 à 01:25:05

J'ai réussis à bien optimiser là ça y est !
Le nombre m'a aussi étonné, mais finalement le calcul est assez simple :

Le chat se refresh toutes les 2 secondes, donc 7.5 fois par secondes. On affiche max 120 messages, et a chaque messages, je fais une jointure pour chercher les infos des auteurs, donc 7.5*150*2 par secondes, ça monte très vite !

Du coup je stock les infos (pseudo, ect) dans la table des conversation, comme ça je fais un select que d'une table et je requete pas dans le foreach !

lisarael
Niveau 13
29 mars 2015 à 12:23:35

Toutes les deux secondes, tu refresh l'entièreté du chat, cappée à 120 msg ?!

Mais t'es complètement barge... quand tu fais ta demande de refresh en AJAX, envoie le timestamp du dernier message affiché sur la page, et fait ta requête MySQL en conséquence, pour ne charger que les messages qui ne sont pas déjà présents côté client...

...ceci dit, vraiment, tu te compliques la vie.

1
Sujet : [OVH] Nombre de requêtes SQL limité?
   Retour haut de page
Consulter la version web de cette page