|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
Bonjour à tous,
Je ne sais pas s'il s'agit du bon forume pour poster ce sujet mais j'ai un probleme avec ma crontab et plus particulierement avec la commande nice Voi le code que je lance Code :
Quelqu'un peu-il m'aider. merci d'avance. |
||
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Assistant aux utilisateurs Inscription : octobre 2002 Messages : 948 ![]() |
Et si tu essayais une autre valeur de "nice" (+10, par exemple) ?
|
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
J'ai essayé également.
Rien ne change. Faut-il configurer nice ? Ce n'est pas la premiere fois que j'utilise cela mai is par contre, c'est la premiere fois que ca coince. |
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Assistant aux utilisateurs Inscription : octobre 2002 Messages : 948 ![]() |
Est-ce que ça ne viendrait pas du script PHP lui-même ?
Le traitement lancé est peut-être trop long, ou bien il part en boucle ou... ? Et quelle est la fréquence de lancement de ce script ? N'est-elle pas trop grande ? Bon, ben voilà. Je n'ai pas d'autre idée actuellement. Bon courage |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
Le script PHP dure une dizaine de minutes.
Il s'agit de pârser Xml donc ca bouffe de la ressource à fond. Mais normalement, quel que soit le script, on devrait pouvoir le réduire en terme de processus. Il est lancé une fois par jour et je m'en ... qu'il dure 3 Heures. L'insertion en base se gère par procédure stockée donc même s'il prenait 5 heures, ca irait. Je vais continuer à chercher. merci. |
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : septembre 2006 Messages : 102 ![]() |
Attends, mais avec "nice", tu changes le scheduling, tu ne changes pas l'utilisation cpu, c'est à dire au lieu d'avoir par exemple un round robin+sjf, tu vas avoir un round robin+ton process first... Ce que tu vas sentir, c'est justement que le processeur est plus disponible pour les autres process (si tu le mets à 20), mais dès qu'il est oisif, il va mettre ses disponibilités aux processus qui en demandent...
|
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
Oui oui j'entends bien.
C'est vrai que je m'exprime mal. mais le probleme est que si je nbavigue sur le site, il reste en pleine bourre et donc mes pages ne s'affichent jamais. Bon, je reregarde cela demain. Merci à vous |
|
00
|
|
|
#8 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
Je reviens à la charge.
Je comprend bien l'histoire de scheduling et de priorité. Heureusement que le processus prend 100% si il peut. Mais comme je le disais, lorsque je navigue, la priorite ne change rien. Aucune page ne s'affiche car la cron prend totues la mémoire Comment cela se fait-il ? Est ce parce que la cron est un script PHP et que la page web utilise le meme programme. Pourtant le nice agit sur les processus ? et non sur l'application. Me trompe je ? Désolé de pauser peut-être des questions très idiote. Bonne soirée ----- Up : J'ai vraiment besoin d'une explication. Lorsque mon processus se lance va nice, rien n'est accessible en ligne. Sur le serveur, je peux faire d'autre chose, de ce coté la, pas de probleme. Mais si je lancce du Php la priorité n'a aucun effet. |
|
00
|
|
|
#9 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
C'est encore moi.
Quel est le moyen de lancer mon script qui prend 100% cpu pendant x heures maintenant. Il n'y en a peut être pas mis à part un meilleur serveur mais bon, j'ose espérer que je peux le ralentir. Qu'il prenne 5 heures au lieu de 3 ne me gène pas. Il 'ny a aucune option système pour cela ? Merci d'avance. |
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() Assistant aux utilisateurs Inscription : octobre 2002 Messages : 948 ![]() |
Salut
As-tu vérifié ton script, afin de t'assurer qu'il n'y a pas d'instruction spéciale ? As-tu vérifié les droits dudit script & la valeur de ses priorités ("nice", système, &c.) ? Sinon, vérifie tout ça. Puis, si ça ne va pas mieux, passe à la suite. Si oui, as-tu vérifié qu'il n'était lancé qu'une seule fois (une seule instance) ? Fait-il appel à des bibliothèques en cascade (ce qui peut en plus générer des appels croisés) ? Peux-tu le fragmenter afin de repérer ce qui te pompe tout le temps de calcul ? Dans ce cas, il peut être utile d'écrire les parties critiques en langage compilé, voire en assembleur afin d'accélérer les traitements. Au fait, il fait quoi, ton script ? Bon courage |
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 801 ![]() |
EDIT: oups, mal lu.
|
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
C'est un parseur XML.
Il parse des milliers de XML qui proviennent d'excel (quel horreur). Du coup, la charge en mémoire est monstrueuse. Mon script parse, insère en base et crée d'autres xml d'après certaines données des sources pour en faire des graphiques flash. Bref, une usine a gaz. Bon ca tourne la nuit mais j'atteins la limite de temps car pendant un moment, le site est indisponible. >> As-tu vérifié les droits dudit script & la valeur de ses priorités ("nice", système, &c.) ? Je ne comprends pas de quoi tu parles. Je suis dev et non admin et du coup, je rame ^^ Le meilleur moyen pour l'instant serait de fragmenter mais dans ce cas, je le ferais a la prochaine mise à jour du code. Merci en tout cas. |
|
00
|
|
|
#13 |
|
Membre Expert
![]() ![]() Assistant aux utilisateurs Inscription : octobre 2002 Messages : 948 ![]() |
Dans ce cas, ne pourrais-tu pas faire un pré-traitement afin de nettoyer le XML en provenance d'Excel ?
Car je suppose qu'il y a beaucoup de scories, là-dedans, non ? Si tu n'es pas administrateur, tu en as peut-être un pas loin qui pourrait t'aider à optimiser quelques paramètres système afin d'accélérer les traitements. Ceci dit, ça ne te divisera pas le temps par 1000. Mais ça permettra peut-être de gagner quelques dizaines de minutes. Car les données sont peut-être trop éparpillées sur le réseau, ou les disques pleins ou que sais-je encore. Après, il ne reste que l'analyse complète de ton script, comme je l'écrivais hier. Bon courage ! |
|
|
00
|
|
|
#14 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
Oui, tu as tout à fait raison la dessus.
J'ai grandement amélioré mon script la dernière fois mais il me reste du travail d'optimisation. Je mets un profiler dessus afin d'en savoir plus. Et dès que je peux kidnapper un admin, je le fais . Merci beaucoup |
|
00
|
Copyright © 2000-2012 - www.developpez.com