OVH Mutualisé et traitement long

OVH Mutualisé et traitement long - PHP - Programmation

Marsh Posté le 06-11-2013 à 10:34:10    

Bonjour,
 
J'ai un site sur un serveur mutualisé OVH qui tourne pas trop mal. Mais toutes les semaines, je lance un traitement assez long ( et qui sera de plus en plus long)
 
J'ai découpé mon script en 4 mais j'ai des boucles qui sont plus difficilements séparables et qui commencent a être longues aussi.
 
Comme vous le savez surement on a le droit qu'a 30 secondes par traitement pour éviter de pourrir le serveur mutualisé.
 
J'ai pas les moyens (ou l'envie) de mettre plus de 30 euros par an donc je cherche une solution.
 
Ma première idée est de faire une copie de mon site en local avec accès a la base distant mais d'une je suis pas sure que cela soit permis ( a confirmer) mais cela signifie que ca marche pas pendant mes vacances.
 
Ma seconde idée développé une appli pour mon portable mais ca me fait chier de reprendre tout mon code en java et faut que je revalide que mon traitement est inchangé. (Si vous connaissez un convertisseur php - java android vos retour m'interesse)
 
Sinon j'attend vos idées et retours d'experiences
 
Pour info j'utilise Symfony2 et je sais que c'est un peu lourd pour OVH mutualisé mais j'avais envie de tester cette solution et hormis un script long, j'en suis content


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Marsh Posté le 06-11-2013 à 10:34:10   

Reply

Marsh Posté le 06-11-2013 à 15:05:34    

Sans code, c'est assez difficile de se faire une idée.
Ton script est-il bien optimisé ? On ne peut pas savoir sans l'avoir sous les yeux.


---------------
Pays et country_code traduits : https://www.iso-country-code.com
Reply

Marsh Posté le 07-11-2013 à 09:15:24    

Pour ta première idée impossible, ovh ne permet pas les connexions extérieures au BDD sur les mutualisés.
Pour ta deuxième idée afin de t'éviter de tout transcrire de php en java il existe des applis qui font tourné un serveur web php/mysql en local sur le téléphone / tablette (android) mais après je ne sais pas ce que ca donne...

Reply

Marsh Posté le 07-11-2013 à 09:58:43    

deejay59 a écrit :

Pour ta première idée impossible, ovh ne permet pas les connexions extérieures au BDD sur les mutualisés.
Pour ta deuxième idée afin de t'éviter de tout transcrire de php en java il existe des applis qui font tourné un serveur web php/mysql en local sur le téléphone / tablette (android) mais après je ne sais pas ce que ca donne...


 
Donc solution 1 et 2 poubelle :s
 
J'ai plus qu'a découper mes boucles et rajouter des étapes dans mon code.  
Et aussi optimiser
 
 
 
 :sweat:


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Marsh Posté le 07-11-2013 à 15:17:38    

Question supplémentaire :
 
Les temps de requetage sont ils pris en compte dans les 30 sec de processus ?


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Marsh Posté le 07-11-2013 à 16:13:49    

le probleme est que sur les mutualisés tu ne peux pas modifier la variable  
max_execution_time = 30 ;
du php.ini ce qui veut dire que si ton script met plus de 30 secondes à s’exécuter (requetage compris car ton script attend le résultat) il s’arrêtera même si il n a pas terminé.
Mais en tout cas il est clair que si tu veux optimiser ton script ca sera du coté mysql. Car même si tu as énormément de boucle et sans faire de requêtes dans une bdd ou autre il est très rare d’excéder 30 sec.
Je ne connais pas ton script mais si tu executes un update ou un insert dans une boucle je te conseille les requêtes préparés avec PDO.
La première exécution est certes "normal" donc longue mais après c'est quasi instantané car seule les values changent.

Reply

Marsh Posté le 07-11-2013 à 16:20:03    


tiens un petit article:
http://fmaz.developpez.com/tutorie [...] endre-pdo/
 

Citation :


II.c. Pourquoi les requêtes préparées ?▲
 
Soyons bien honnête :
 
    il vous faudra écrire plus de lignes que pour une requête simple ;
    pour une exécution unique, les performances sont moindres qu'avec une exécution directe ;
    le débogage d'une requête est légèrement plus complexe ;
    et concrètement, le résultat est, à toutes fins pratiques, identique : exécuter une requête.
 
Alors pourquoi diable a-t-on inventé les requêtes préparées ? Eh bien, exactement pour la même raison que nous avons inventé les systèmes de templates : pour isoler les données du traitement.
 
Ainsi, l'utilisation de requêtes préparées offrira les avantages suivants :
 
    impose une certaine rigueur de programmation ;
    optimisation du temps d'exécutions requis pour les requêtes exécutées plus d'une fois ;
    plus grande sécurité au niveau des requêtes.
 
 

Reply

Marsh Posté le 07-11-2013 à 16:26:16    

Je suis sous symfony2 / doctrine, je suis donc en base objet
 
J'ai trouvé mon pb, je fait un comit dans ma boucle  
J'ai sorti les $em->flush();
Je suis passé à moins de 3 secondes par script :D
 
 
Merci de m'avoir lu, ca m'a aider d'en parler ;)


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Marsh Posté le 07-11-2013 à 16:33:11    

Ps : si vous voulez voir mon site et me donner votre avis c'est dans ma signature que cela se passe. (Y a pas de pub donc pas de spam ;) )


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Marsh Posté le 07-11-2013 à 16:34:32    

Content pour toi ;)
j'avais lu à moitié, j'avais pas vu que tu utiliser symfony

Reply

Marsh Posté le 07-11-2013 à 16:34:32   

Reply

Marsh Posté le 07-11-2013 à 16:48:29    

Promo? Hum non...
Porno? Hum non...
Prono? Ah oui!
 
 
Pas ta faute et je pense qu'il n'y a rien à faire mais ça fait bizarre. :D

Reply

Marsh Posté le 07-11-2013 à 17:08:25    

MaybeEijOrNot a écrit :

Promo? Hum non...
Porno? Hum non...
Prono? Ah oui!
 
 
Pas ta faute et je pense qu'il n'y a rien à faire mais ça fait bizarre. :D


 
 
Avec Wilson la coquine ;)
 
http://graphics8.nytimes.com/images/2008/01/21/science/castaway533.jpg
 


Message édité par KLeMiX le 07-11-2013 à 17:09:40

---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed