Question [résolu] foreach

Plus d'informations
il y a 10 ans 3 mois #16708 par Philippe
Réponse de Philippe sur le sujet Re:foreach
suite test de performance

sur serveur 2003 R2 BiProc et powershell V2 :
pour 407 517 fichiers et 57 972 dossiers

avec la solution \"DU.EXE\" :
6 minutes et 20 secondes de scan de 30 à 50% d'utilisation CPU et 30Mo de mémoire (très peu d'utilisation mémoire en dehors de celle initiale au lancement de powershell.exe)

sur serveur 2008R2 QuadriProc et powershell V2 :
pour 170 962 fichiers et 12 389 dossiers

avec la solution \"DU.EXE\" :
1 minute de scan, de 50 à 70% d'utilisation d'un CPU et 50Mo de mémoire (très peu d'utilisation mémoire en dehors de celle initiale au lancement de powershell.exe)

petite conclusion très très rapide :Il ne faut plus utilisé powershell :P :silly: :evil:
Je crois que les repas de fête ont commencer !
plus sérieusement : le script NZO est aussi rapide que \"du.exe\" !

sinon il j'ai refais le test avec la version NZO du script sans option force, parce que j'ai eu le message d'erreur suivant lors du dernier test (merci les utilisateur de MAC) a l'execution du script NZO ce qui impliquais que des fichiers voir des dossiers complets n'avais pas été comptabilisé ! le scan est toujours aussi rapide que l'executable !!
Get-ChildItem : Le chemin d'accès spécifié, le nom de fichier ou les deux sont trop longs. Le nom de fichier qualifié complet doit comprendre moins de 260 caractères et le nom du répertoire moins de 248 caractères.

script utilisé pour les tests :
[code:1]

$dateAvant = Get-Date
c:\temp\Du.exe -v -c \"d:\services\" | ConvertFrom-Csv -Delimiter ',' | Format-Table
$dateApres = Get-Date
$TempsEcoulee = (Get-Date $dateApres) - (Get-Date $dateAvant)
Write-Host (get-date -format T)' - fin scan en '('{0:00}:{1:00}:{2:00}' -f $TempsEcoulee.Hours,$TempsEcoulee.Minutes,$TempsEcoulee.Seconds)
[/code:1]

conclusion 2 :
- il faut que je fasse un script pour détecté les chemins et les noms de fichier trop long.
- trouver une solution pour géré ce problème dans un script qui doit travailler sur des dossiers dans ce genre de cas :(

bonne fête de noël à tous

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

Plus d'informations
il y a 10 ans 3 mois #16709 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:foreach
Merci pour tes tests et ton temps.
6ratgus écrit:

Il ne faut plus utilisé powershell

Pour l'analyse d'un nombre important de fichiers c'est connu.
6ratgus écrit:

le script NZO est aussi rapide que \"du.exe\" !

Je vais le tester.
6ratgus écrit:

trouver une solution pour gérer ce problème dans un script qui doit travailler sur des dossiers dans ce genre de cas :(

Il existe une API Win32 qui permet cela et sous dotnet un projet Codeplex si je me souviens bien, mais cela oblige à réécrire ce type de traitement.
Il se peut que NTFS ne soit plus adapté au volume de données actuelle, mais n'en étant pas un spécialiste cela reste à confirmer.
6ratgus écrit:

bonne fête de noël à tous

Merci, bon réveillon.

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 3 mois #16710 par laucaz
Réponse de laucaz sur le sujet Re:foreach
Bonjour à tous :-)

En premier lieu j'espère que Noël s'est bien passé pour vous. :-)


Laurent, une question : dans les parametres que tu utilises avec \"du.exe\" il y a \"-c\". Ce parametre ne fait apparemment pas partie de ceux attendus par la commande :
[code:1]usage: du.exe [-n [-q] <directory>
-l Specify subdirectory depth of information (default is all levels).
-n Do not recurse.
-q Quiet (no banner).
-v Show size (in KB«») of intermediate directories.[/code:1]

Laurent Dardenne écrit:

[code:1]
C:\Tools\sysinternal\Du\Du.exe -v -c C:\Windows|
ConvertFrom-Csv -Delimiter ','
[/code:1]


Pourrais tu expliquer ce \"-c\" ? :unsure:

@+
Laurent

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

Plus d'informations
il y a 10 ans 3 mois #16711 par Philippe
Réponse de Philippe sur le sujet Re:foreach
Bonjour titou4 et Laurent

@titou4 : regarde la version de ton DU.EXE :
[code:1]Du v1.5 - report directory disk usage
Copyright (C) 2005-2013 Mark Russinovich
Sysinternals - www.sysinternals.com

usage: c:\temp\du [-c[t]] [-l <levels> | -n | -v] [-u] [-q] <directory>
-c Print output as CSV. Use -ct for tab delimiting.
-l Specify subdirectory depth of information (default is one level).
-n Do not recurse.
-q Quiet (no banner).
-u Count each instance of a hardlinked file.
-v Show size (in KB«») of all subdirectories.

CSV output is formatted as:
Path,CurrentFileCount,CurrentFileSize,FileCount,DirectoryCount,DirectorySize[/code:1]

Bonjour Laurent

Merci pour tes réponses

Laurent Dardenne écrit:

Il existe une API Win32 qui permet cela et sous dotnet un projet Codeplex si je me souviens bien, mais cela oblige à réécrire ce type de traitement.

c'est bien comme ca que je le voyer !

j'ai pour l'instant trouver le moyen de les reperer ou presque car les premiers tests ne donne rien :(

En avril 2010 tu parler déjà de la
solution codeplex

et des sites qui parle du sujet :
Maximum Path Length Limitation
Long Paths in .NET, Part 1 of 3 [Kim Hamilton]
et le BCL : Base Class Libraries

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

Plus d'informations
il y a 10 ans 3 mois #16712 par laucaz
Réponse de laucaz sur le sujet Re:foreach
YEEEEES :-)

6ratgus écrit:

Bonjour titou4 et Laurent

@titou4 : regarde la version de ton DU.EXE :
[code:1]Du v1.5 - report directory disk usage
Copyright (C) 2005-2013 Mark Russinovich
Sysinternals - www.sysinternals.com

usage: c:\temp\du [-c[t]] [-l <levels> | -n | -v] [-u] [-q] <directory>
-c Print output as CSV. Use -ct for tab delimiting.
-l Specify subdirectory depth of information (default is one level).
-n Do not recurse.
-q Quiet (no banner).
-u Count each instance of a hardlinked file.
-v Show size (in KB«») of all subdirectories.

CSV output is formatted as:
Path,CurrentFileCount,CurrentFileSize,FileCount,DirectoryCount,DirectorySize[/code:1]



Merci j'my met de suite ;-)

@+
Laurent

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

Plus d'informations
il y a 10 ans 3 mois #16713 par Philippe
Réponse de Philippe sur le sujet Re:foreach
avec le champagne c'est pas toujours facile ;) :blink:

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

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