Pb de requete sur mon serveur sql herbegé par 1and1

Nouveau WRInaute
Aujourd'hui j'ai recu le mail suivant de mon hebegeur :

Je me permets de vous contacter à la demande de mes collègues sysadmins
s'occupant de nos serveurs SQL.

Ces derniers ont constatés après plusieurs emails de clients signifiants
des lenteurs que votre base se trouve parmi les bases responsables de
ces lenteurs.


Voici un log relevé par mes collègues :
user count query_time lock_time rows_sent rows_examined

SELECT ms.id AS sid, ms.type AS stype, mc.id AS cid,
mc.type AS ctype, i.id as sectionid, i.id As catid, ms.published AS
spub, mc.published AS cpub FROM jos_content AS i LEFT JOIN jos_sections
AS s ON i.sectionid = %% LEFT JOIN jos_menu AS ms ON ms.componentid = %%
LEFT JOIN jos_categories AS c ON i.catid = %% LEFT JOIN jos_menu AS mc
ON mc.componentid = %% WHERE ( ms.type IN %% OR mc.type IN %% ) AND i.id
= %% ORDER BY ms.type DESC, mc.type DESC, ms.id, mc.id;

SELECT a.id, a.title, a.sectionid, a.catid FROM
jos_content AS a LEFT JOIN jos_content_frontpage AS f ON f.content_id =
%% INNER JOIN jos_categories AS cc ON cc.id = %% INNER JOIN jos_sections
AS s ON s.id = %% WHERE ( a.state = %% AND a.sectionid > %% ) AND (
a.publish_up = %% OR a.publish_up <= %% ) AND ( a.publish_down = %% OR
a.publish_down >= %% ) AND a.access <= %% AND cc.access <= %% AND
s.access <= %% AND s.published = %% AND cc.published = %% LIMIT %%;
dbo206426297 8 DELETE FROM jos_session WHERE ( ( time < %% ) AND guest =
%% AND gid > %% ) OR ( ( time < %% ) AND guest = %% AND userid = %% );

SELECT a.id, a.title, a.title_alias, a.introtext,
a.sectionid, a.state, a.catid, a.created, a.created_by,
a.created_by_alias, a.modified, a.modified_by, a.checked_out,
a.checked_out_time, a.publish_up, a.publish_down, a.images, a.urls,
a.ordering, a.metakey, a.metadesc, a.access, CHAR_LENGTH( a.fulltext )
AS readmore, s.published AS sec_pub, cc.published AS sec_pub, u.name AS
author, u.usertype, s.name AS section, cc.name AS category, g.name AS
groups , ROUND( v.rating_sum / v.rating_count ) AS rating,
v.rating_count FROM jos_content AS a LEFT JOIN jos_categories AS cc ON
cc.id = %% LEFT JOIN jos_users AS u ON u.id = %% LEFT JOIN jos_sections
AS s ON a.sectionid = %% LEFT JOIN jos_groups AS g ON a.access = %% LEFT
JOIN jos_content_rating AS v ON a.id = %% WHERE a.state = %% AND (
a.publish_up = %% OR a.publish_up <= %% ) AND ( a.publish_down = %% OR
a.publish_down >= %% ) AND ( a.catid=%% ) AND s.published = %% AND
cc.published = %% AND a.access <= %% AND s.access <= %% AND cc.access <=
%% LIMIT %%;

SELECT ROUND( v.rating_sum / v.rating_count ) AS rating,
v.rating_count FROM jos_content AS a LEFT JOIN jos_content_rating AS v
ON a.id = %% WHERE a.id = %%;

INSERT INTO jos_session (
`session_id`,`time`,`username`,`gid`,`guest` ) VALUES %%;

SELECT guest, usertype FROM jos_session;

Une telle utilisation se trouve trop importante pour un serveur SQL
mutualisé.
Cependant, mes collègues n'ont pas encore effectué la suspension de
votre base, comptant sur votre collaboration afin de résoudre le
problème à l'aide des logs ci-dessus.

Une mise à jour des scripts et une indexation de la base ont très
souvent raisons de ces lenteurs.

Que faire ?

Je pensais que joomla etait bien optimisé.

Voyez vous quelques choses qui cloche dans ces requetes SQL ?
 
Nouveau WRInaute
YoyoS a dit:
Faudrait vérifier qu'il y ait bien des indexes sur tes clés primaires et étrangères pour commencer

Il s'agit de requete JOOMLA.
J'ai jeté un oeil aux tables, elles possedent toutes une clé primaires.

Ce qui me pertube dans tous ca, c'est que je n'ai rien changé depuis le debut, il s'agit des memes requetes que je pense optimisé par les developpeurs Joomla.
La seule difference entre aujourdhui et mes debuts, c'est le nombre de visiteur qui est à present compris entre
4000 et 6000 vues par jours .

Les requetes qui semblent poser un pb sont les plus utilisés par Joomla (il s'agit des tables pour stocker les articles)

Ca me fait dire que mon serveur mutu est dépassé!!!

Vous en pensez quoi ?
 
WRInaute accro
YoyoS a dit:
Il faut peut-être rajouter des indexes sur les clés très utilisées dans les jointures ?!

+1 YoyoS. Des index bien plaçés sur les jointures les plus fréquemment utilisées accélère grandement les choses.
 
Nouveau WRInaute
Perso, je ne comprend donc pas comment aujoud'hui les memes requetes qui ne posaient aucun probleme hier puisse aujourdhui surchargé le serveur SQL mutualisé.

L'augmentation des données ni est pour rien au vu du faible nombre de ligne stocké dans la base de données :

Les tables incriminés ont toutes tres peu de lignes :

jos_content : 261 lignes
jos_section : 29 lignes
jos_categorie : 13 lignes
jos_content_frontpage : 212
jos_content_rating : 241
jos_session : 79

Prenons l'exemple d'une requete qu'ils m'ont envoyés :
SELECT guest, usertype FROM jos_session;

Il n'y a que 79 lignes dedans, et avec ou sans clé primaire j'ose à croire qu'un serveur SQL devrait repondre sans aucune difficulté à ce genre de requete.

De plus les requetes sont deja optimisé par de nombreux developpeurs qui ont participés au developpement du CMS que j'utilise à savoir Joomla.

La seule chose qui different avec le debut c'est le nombre de visiteurs qui est croissant.
J'en deduis donc que le probleme viendrait d'un nombre elevé de visiteur qui multiplirait le nombre de requete et poserait probleme au serveur SQL mutualisé qui heberge ma base de données.

A partir de quand pensez vous que l'on doit passé sur un serveur dedié !!

Je suis actuellement entre 4000 et 6000 visites /jours
 
WRInaute impliqué
Je te conseil vivement de d'avoir une sauvegarde béton et d'être prêt a décamper car ça ne rigole pas chez eux.
Pour en revenir au requêtes essais de les passer avec le mode explain. Puis n'hésite pas a leur démontrer par a+b que tu y met du tiens pour régler le problème mais vu le nombre de visiteurs que tu as y a fort a parier que tu vas être obligé de migrer sur un semi-dédié ou un dédié sinon...

Perso je suis super content d'eux mais étant attentif a différents forum je suis en perpétuel inquiétude concernant mes visiteurs car je sais que le jour au j'aurais trop de visiteurs ils ne feront pas de cadeau il semble d'après ce que tu dis qu'un changement se soit opéré car tu es prévenu à l'avance jusqu'a présent de ce que j'ai lu sur les forums il y avait eu migration directe de la base sur des serveurs d'attente en bande passante limitée.
 
WRInaute accro
c'est pas 6000v/jour qui peut provoquer la surcharge d'un gros dédié qd meme. Il y a obligatoirement moyen d'optimiser ça.

Ou alors,c'est une petite offre que tu as pris et 1and1 a mis 10000sites sur le même dédié, et c'est le tiens le plus gros lol
 
WRInaute impliqué
YoyoS a dit:
c'est pas 6000v/jour qui peut provoquer la surcharge d'un gros dédié qd meme. Il y a obligatoirement moyen d'optimiser ça.

Ou alors,c'est une petite offre que tu as pris et 1and1 a mis 10000sites sur le même dédié, et c'est le tiens le plus gros lol

Tu as pas bien lu il est pas sur un dédié mais sur du mutu.
 
WRInaute occasionnel
Le meilleur conseil est de se casser et d'aller sur un autre hébergeur que 1and1. Mais si tu veux d'autres conseils alors suis ceux des autres. Je confirme que tu as de la chance qu'ils t'envoient un email.. Ca n'a pas été le cas pour moi, enfin si, un email pour me dire que la base avait été bloquée (et donc pas possible de la sauver avec phpmyadmin) et ensuite PLUS DE REPONSE a aucun email, j'avais été obligé de téléphoner à leur numéro payant (depuis la chine) puis de leur envoyer un fax pour pouvoir débloquer la base le temps que je fasse un backup au plus récent et me casse de chez eux car ces pratiques ils peuvent les réserver à d'autres que moi, merci!

Pour info, j'ai ensuite mis le même site sur dreamhost avec d'autres sites sur le même compte et aujourd'hui avec 5 fois plus de visiteurs ben ca bronche pas.. C'est facile de dire que c'est ta faute, ou la faute de tes scripts, mais faut voir aussi combien de clients ils empilent sur un pauvre serveur!
 
Nouveau WRInaute
Merci d'avoir rectifier f_trt.

J'aimerais avoir les retours d'experience des webmasters concernant le passage d'un serveur mutu à un dedié.

A partir de combien de visites pensez vous qu'il faille faire le grand saut ?

Merci d'avance pour vos réponses parcque là je suis dans le flou totale.

Si vous avez egalement des hebergeurs à me conseiller n'hesitez pas.
 
WRInaute impliqué
YoyoS oui en relisant ce que tu écris c'est moi qui ai compris de travers.

Niveau mutu maintenant c'est souvent un repartiteur de charge puis une ferme de serveur avec un ou des filers. Par contre niveau BDD ont tombe sur les problèmes que tu évoques.

Pour en revenir à Malek non pas besoins d'un dédié il y a des mutus qui tiennent des charges très grosses avec beaucoups de traffic mensuel possible je pense par exemple au XXLPLAN d'OVH.

Tu dois peut-être pouvoir mettre facilement un système de cache pour eviter des accès bases ?
 
Discussions similaires
Haut