2016-09-29 1 views
1

J'ai une tâche/transformation Pentaho ETL qui lit un fichier texte et insère des enregistrements dans une table MS SQL Database. Je l'exécute tous les jours. Cela prend jusqu'à 10 minutes pour finir. Le problème se produit quand quelqu'un d'autre l'exécute: le temps s'élève jusqu'à 40 minutes. Toutes les exections se produisent sur la même machine, avec la même version JRE. Les journaux ne montrent rien d'inhabituel, juste un plus grand laps de temps entre les étapes.Problèmes de performances Pentaho ETL

Informations système:

  • de Windows 8 Enterprise 64bits
  • 1.7_79 32 bits JRE
  • Pentaho 5.3.0
  • MS SQL 2000 (8,0)

appelé commande:

C:\SR\bin\data-integration>"C:\SR\bin\jre1.7.0_79\bin\java.exe" "-Xmx512m" "-XX:MaxPermSize=256m" "-Djava.library.path=libswt\win32" "-DKETTLE_HOME=" "-DKETTLE_REPOSITORY=" "-DKETTLE_USER=" "-DKETTLE_PASSWORD=" "-DKETTLE_PLUGIN_PACKAGES=" "-DKETTLE_LOG_SIZE_LIMIT=" "-DKETTLE_JNDI_ROOT=" -jar launcher\pentaho-application-launcher-5.3.0.0-213.jar -lib ..\libswt\win32 -main org.pentaho.di.kitchen.Kitchen /file C:\SR\config\pentaho\visao.kjb /param:"dia=29" /param:"mes=09" /param:"ano=2016" /param:"arquivo=Realize2016" /param:"dia_util=28" /norep 

Mon journal:

2016/09/27 11:26:03 - Reading of file MyFile.0 - Line number : 50000 
2016/09/27 11:26:03 - Validate Records.0 - Linenr 50000 
2016/09/27 11:26:03 - Discarded records.0 - Linenr 50000 
2016/09/27 11:26:04 - Reading of file MyFile.0 - Line number : 100000 
2016/09/27 11:26:04 - Validate Records.0 - Linenr 100000 
2016/09/27 11:26:04 - Discarded records.0 - Linenr 100000 
2016/09/27 11:26:05 - Reading of file MyFile.0 - Line number : 150000 
2016/09/27 11:26:05 - Validate Records.0 - Linenr 150000 
2016/09/27 11:26:05 - Discarded records.0 - Linenr 150000 
2016/09/27 11:26:06 - Reading of file MyFile.0 - Line number : 200000 
2016/09/27 11:26:06 - Validate Records.0 - Linenr 200000 
2016/09/27 11:26:06 - Discarded records.0 - Linenr 200000 
2016/09/27 11:26:07 - Reading of file MyFile.0 - Line number : 250000 
2016/09/27 11:26:07 - Validate Records.0 - Linenr 250000 
2016/09/27 11:26:08 - Discarded records.0 - Linenr 250000 

Mon collègue journal:

2016/09/29 10:13:26 - Reading of file MyFile.0 - Line number : 50000 
2016/09/29 10:13:32 - Validate Records.0 - Linenr 50000 
2016/09/29 10:13:32 - Discarded records.0 - Linenr 50000 
2016/09/29 10:13:40 - Reading of file MyFile.0 - Line number : 100000 
2016/09/29 10:13:46 - Validate Records.0 - Linenr 100000 
2016/09/29 10:13:47 - Discarded records.0 - Linenr 100000 
2016/09/29 10:13:56 - Reading of file MyFile.0 - Line number : 150000 
2016/09/29 10:14:01 - Validate Records.0 - Linenr 150000 
2016/09/29 10:14:02 - Discarded records.0 - Linenr 150000 
2016/09/29 10:14:10 - Reading of file MyFile.0 - Line number : 200000 
2016/09/29 10:14:17 - Validate Records.0 - Linenr 200000 
2016/09/29 10:14:18 - Discarded records.0 - Linenr 200000 
2016/09/29 10:14:26 - Reading of file MyFile.0 - Line number : 250000 
2016/09/29 10:14:31 - Validate Records.0 - Linenr 250000 
2016/09/29 10:14:32 - Discarded records.0 - Linenr 250000 

Répondre

1

J'ai finalement trouvé ce qui causait la mauvaise performance pendant l'exécution du travail par mon collègue. Après avoir comparé toutes les variables et configurations de l'environnement, il manquait certains fichiers de configuration de Kettle/Pentaho dans son profil. Ces fichiers ont été créés par Spoon et mon collègue n'a jamais exécuté Spoon. Il exécute seulement le travail en utilisant la cuisine.

Les fichiers ont été créés en% USERPROFILE% \. Bouilloire \

Une autre différence entre mon profil et son, était l'emplacement par défaut situé sur une cuillère. Le mien était réglé sur en-US, alors que le sien utilisait le système par défaut (pt-BR).

Après que tous les paramètres ont été identiques entre les profils, le temps d'exécution a diminué de manière significative: de 40 minutes (moyenne) à 6 minutes (moyenne).

1

Il doit y avoir quelque chose de différent. Exécutez-vous sur le même compte? Dans quoi env? Windows ou Linux?

Avez-vous essayé d'utiliser pan/kitchen? Peut-être que cela va normaliser vos environnements?

Si vous téléchargez la transformation, etc., je vais jeter un coup d'oeil.

+0

Utilisation de Windows 8 Enterprise (64 bits). Différents comptes. Même env. Système déjà vérifié et variables utilisateur. – Elathan

+0

Ma suggestion dans ce cas serait de créer un nouveau compte pour exécuter des choses que tout le monde peut utiliser. Testez-le avec ça. Qui sait ce qu'il a mis en place sur son compte. Même si les choses peuvent être les mêmes, peut-être qu'il a une configuration Java aléatoire accordant la JVM qui affecte quelque chose de bas niveau. Heaps réglé différemment? (tiré dans le noir là-bas) Ou vice versa et vous avez turbo chargé. Comme je le disais, s'il est possible d'essayer avec CLI pan/kitchen, cela pourrait standardiser un peu vos environnements.Je n'ai pas l'habitude d'appeler la cuisine en classe mais c'est ce que je ferais. – Codex

+0

J'utilise la cuisine pour exécuter le travail. Appel à travers un script chauve-souris. Je ne peux pas créer un autre compte juste pour l'exécuter (politiques de l'entreprise - chaque compte est lié à un employé), j'utilise un JRE distinct juste pour l'exécuter (le système JRE est dans un chemin différent). Les deux comptes utilisent le même JRE pour exécuter la cuisine. – Elathan