lancer des batch
24 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
-

JeromeRookie - WRInaute impliqué

- Messages: 341
- Inscription: Lun Aoû 11, 2003 10:55
lancer des batch
Bonjour,
j'ai une page php très longue à éxécuter car elle traite un catlogue xml de +de 20.000 produits qu'elle ajoute en bdd. Lorsque je lance cette page, j'ai deux problèmes :
- toutes les ressources de mon VDS sont allouées à cette page et donc, le site est lent.
- j'ai un time out, meme en indiquant en début de script que cette page peut bénéficier d'un temps d'éxécution plus long.
y a-t-il des moyens de résoudre ces deux problèmes ?
Merci
j'ai une page php très longue à éxécuter car elle traite un catlogue xml de +de 20.000 produits qu'elle ajoute en bdd. Lorsque je lance cette page, j'ai deux problèmes :
- toutes les ressources de mon VDS sont allouées à cette page et donc, le site est lent.
- j'ai un time out, meme en indiquant en début de script que cette page peut bénéficier d'un temps d'éxécution plus long.
y a-t-il des moyens de résoudre ces deux problèmes ?
Merci
-

bproductiv - WRInaute accro

- Messages: 2807
- Inscription: Lun Déc 27, 2004 16:29
ben coupe le fichier en deux ou trois... 
-

JeromeRookie - WRInaute impliqué

- Messages: 341
- Inscription: Lun Aoû 11, 2003 10:55
c'est ce que je fais à la main mais le fichier est mis à jour toutes les nuits et je ne me vois pas me lever toutes les nuits pour le faire
a moins qu'il y ai un moyen de le couper en X automatiquement..., de récupérer les noms des fichiers et de lancer mon script x fois...
Re: lancer des batch
20 000 lignes dans le meme fichier xml !! waouuu, apres tu grognes parce que ca rame !! puis comme dit Rog, le rapport avec un batch ?
coupe ton fichier par thematique.. a oui, j'avais oublié, tu as fais toute tes lectures a partir du meme fichier XML.. tout a refaire en gros. dur dur!!
..puis la nuit, pas besoin de se lever pour des mises a jour, les taches CRONs nous aident à garder nos heures de sommeil.
bon courage
coupe ton fichier par thematique.. a oui, j'avais oublié, tu as fais toute tes lectures a partir du meme fichier XML.. tout a refaire en gros. dur dur!!
..puis la nuit, pas besoin de se lever pour des mises a jour, les taches CRONs nous aident à garder nos heures de sommeil.
bon courage
-

JeromeRookie - WRInaute impliqué

- Messages: 341
- Inscription: Lun Aoû 11, 2003 10:55
pour le batch, je me disais que il était possible de lancer le script non pas en interactif mais en batch, cad, avec moins de ressources. dsl, j'ai utilisé les mauvais mots.
a quoi sert de mettre un tempo toutes les 10 iterations ?
je ne peux pas couper le fichier par thématiques car je n'en suis pas l'auteur; il s'agit d'un catalogue de e-commerçant dont je suis affilié.
que veux-tu dire ????
a quoi sert de mettre un tempo toutes les 10 iterations ?
KOogar a écrit:coupe ton fichier par thematique..
je ne peux pas couper le fichier par thématiques car je n'en suis pas l'auteur; il s'agit d'un catalogue de e-commerçant dont je suis affilié.
KOogar a écrit:a oui, j'avais oublié, tu as fais toute tes lectures a partir du meme fichier XML.. tout a refaire en gros. dur dur!!
que veux-tu dire ????
JeromeRookie a écrit:je ne peux pas couper le fichier par thématiques car je n'en suis pas l'auteur; il s'agit d'un catalogue de e-commerçant dont je suis affilié.
Le catalogue est un flux xml ??
si oui, tu dois recuperer le catalogue a partir du fichier et le monter en base sql. La tu verras qu'il y a plusieurs thematique donc tu pourras decouper le catalogue en plusieurs tables. Ensuite tu actualises tes tables la nuit par taches CRONs, si tu as bien fait plusieurs tables, les mises a jour seront tres rapide.
et pour terminer,tu te sert des tables sql pour afficher les datas aux clients.
-

JeromeRookie - WRInaute impliqué

- Messages: 341
- Inscription: Lun Aoû 11, 2003 10:55
intéressant ta proposition.
a ce jour, je lis et traite directement chaque enregistrement du fichier xml.
je n'ai pas essayé ta proposition de le faire en deux fois :
- écrire le fichier xml en base.
- le traiter
ce serait plus rapide ?
existe-t-il une instruction pour "monter" le flux xml en bdd en une fois, ou faut-il faire une boucle ?
a ce jour, je lis et traite directement chaque enregistrement du fichier xml.
je n'ai pas essayé ta proposition de le faire en deux fois :
- écrire le fichier xml en base.
- le traiter
ce serait plus rapide ?
existe-t-il une instruction pour "monter" le flux xml en bdd en une fois, ou faut-il faire une boucle ?
Intiutivement ? quel genre d'operation pouvons nous faire a partir d'un fichier de datas de 1 Mo ?
Afficher les datas directement a partir de ce fichier est inpensable, si nous voulons ne pas ratatiner le serveur. Nous pouvons par contre le decouper et stocker les datas dans des tables sql, ou pourquoi pas, a travers d'autres fichiers XML.
Les mises a jour seront hyper rapide, car la tache sera maintenant d'aller chercher seulement les derniers elements du fichier data.xml.
Cette methode, qui fera le bonheur de qui sait la lire, permet des fonctionnalités etonnante si le decoupage des datas est pertinant (search, datas a jour...)
Afficher les datas directement a partir de ce fichier est inpensable, si nous voulons ne pas ratatiner le serveur. Nous pouvons par contre le decouper et stocker les datas dans des tables sql, ou pourquoi pas, a travers d'autres fichiers XML.
Les mises a jour seront hyper rapide, car la tache sera maintenant d'aller chercher seulement les derniers elements du fichier data.xml.
Cette methode, qui fera le bonheur de qui sait la lire, permet des fonctionnalités etonnante si le decoupage des datas est pertinant (search, datas a jour...)
je ne comprends pas votre volonté de vouloir partitionner dans plusieurs tables et encore moins par thématiques
20000 lignes dans une table pour mysql c'est de la rigolade
par contre 20000 update ou insert sur un VDS normal que cela explose le CPU surtout que Mysql à besoin de beaucoup de mémoire
alors déjà pour commencer il te faut un set_time_limit(0) => plus de timeout
ensuite pourquoi pas temporiser avec sleep(1) que le moteur ne chauffe pas trop
ou alors utiliser nice pour lancer ton script en mode basse consommation (d'ordonnencement) => man nice
ensuite si c'est chaque jour que tu mets à jour le meme xml et qu'il y a très peu de différences, ca vaut le coup de détecter les changements pour minimiser les requetes inutiles...
20000 lignes dans une table pour mysql c'est de la rigolade
par contre 20000 update ou insert sur un VDS normal que cela explose le CPU surtout que Mysql à besoin de beaucoup de mémoire
alors déjà pour commencer il te faut un set_time_limit(0) => plus de timeout
ensuite pourquoi pas temporiser avec sleep(1) que le moteur ne chauffe pas trop
ou alors utiliser nice pour lancer ton script en mode basse consommation (d'ordonnencement) => man nice
ensuite si c'est chaque jour que tu mets à jour le meme xml et qu'il y a très peu de différences, ca vaut le coup de détecter les changements pour minimiser les requetes inutiles...
julienr a écrit:je ne comprends pas votre volonté de vouloir partitionner dans plusieurs tables et encore moins par thématiques
20000 lignes dans une table pour mysql c'est de la rigolade
par contre 20000 update ou insert sur un VDS normal que cela explose le CPU surtout que Mysql à besoin de beaucoup de mémoire
alors déjà pour commencer il te faut un set_time_limit(0) => plus de timeout
ensuite pourquoi pas temporiser avec sleep(1) que le moteur ne chauffe pas trop
ou alors utiliser nice pour lancer ton script en mode basse consommation (d'ordonnencement) => man nice
ensuite si c'est chaque jour que tu mets à jour le meme xml et qu'il y a très peu de différences, ca vaut le coup de détecter les changements pour minimiser les requetes inutiles...
En general, on fait la premiere grosse mise a jour en local si l'on n'a pas un serveur dédié perso, puis ensuite les mise a jour des derniers éléments se font en ligne.
donc pas besoin de set_time_limit().
Puis "ensuite pourquoi pas temporiser avec sleep(1) que le moteur ne chauffe pas trop" ca fait bricolage. Tu compte avoir une fenetre en permanante overte pour tes mise a jour ?
...et avoir 1 table ou 100 tables SQL, c'est un choix discutable selon les besoins de l'application.
24 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Amazon pourrait se lancer dans la publicité contextuelle
- Windows Live Search
- Yahoo! affiche son Web Rank
- Rumeurs autour de Google Tunes
- Une check-list pour bien démarrer son référencement
- GGSearch: Search Tool with Google(TM) Power
- Google Secure Access (GSA)
- Le WRInaute du moment
- Google Deskbar : la recherche sur votre bureau
- WebRankInfo sélectionné aux Abondance d'or
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités






le forum