Question [closed]pb perf start-process redirection

Plus d'informations
il y a 10 ans 10 mois #20533 par Gabriel
Bonjour

J'ai des processus java a exécuter et je lance

[code:1]
Start-Process -WorkingDirectory $Working_Dir -File $Bin_Dir\$jar -ArgumentList $Args -RedirectStandardOutput $stdOutLog -RedirectStandardError $stdErrLog -wait -PassThru;
[/code:1]

le problème c'est qu'avec Java (et visiblement seulement java, sur le servir les meme processus lance des binaires c++ qui renvoie tout dans la consoleet on a pas ce pb) l'écriture de log prend plus de temps que si j'exécute la commande sous dos.

pas trop problématique si j'ai 200 lignes a faire, mais j'en ai quelques un qui vont générer 400.000 a 500.000 lignes de log (c'est voulu et nécessaire pour des raisons légales)

en cmd ca peut prendre 7-10min, en powershell 45min!

si on lance sans les RedirectStandardOutput/RedirectStandardError on tombe dans les 7-10min.

pour la plateforme on est en posh v4 sur 2008R2

je passe sur le fait que ca devrait être le java qui génére la log plutôt que de la sortir dans le stdin (le dev doit travailler dessus dans quelques mois :unsure: )

Un avis d'expert?

Message édité par: tonic8, à: 22/07/15 12:15<br><br>Message édité par: tonic8, à: 24/07/15 14:55

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 10 mois #20534 par xyz
Réponse de xyz sur le sujet Re:pb perf start-process redirection
Salut,
tonic8 écrit:

en cmd ca peut prendre 7-10min,

Tu as trouvé une solution :-)
tonic8 écrit:

en powershell 45min!

Bah là faut regarder le code source :-/
tonic8 écrit:

pour la plateforme on est en posh v4 sur 2008R2

Dans ce cas, vérifie, au cas où, si la redirection des flux améliore les perf.
Il y a peut être une successione inutile d'ouverture/fermeture de fichier.
tonic8 écrit:

je passe sur le fait que ca devrait être le java qui génére la log plutôt que de la sortir dans le stdin

Tu veux dire dans stdout ?
Sans connaitre ton environnment je dirais que si cela a été fait comme cela c'est que cela n'a pas été spécifié, et c'est déjà mieux que d'écrire directement sur la console ;-)
Si le code provient d'unix ou cible windows et Unix, c'est une approche correcte il me semble.
tonic8 écrit:

Un avis d'expert?

Tu nous l'as donné !
Sans code similaire pour des tests je ne vois pas ce qu'on peut t'apporter...

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 10 mois #20535 par Gabriel
Salut Laurent

je vois que tout le monde n'est pas en vacances :)

alors oui je ne peux pas mettre le code autre que la fonction d'appel (appli java interne). Ce qui n'aide pas pour le debug.

c'est pour le cas ou il y avait déjà eu des observations de timing sur de gros stdout

je vais essayer de rediriger directement la sortie de java sans utiliser les \&quot;-redirect*\&quot;.

faut par contre que je joue avec des guillemets pour les argument du java mais ca je sais faire.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.040 secondes
Propulsé par Kunena