-
Java sous USS
Bonjour,
Je travaille sur un projet qui consiste à faire exécuter des programmes Java sur la couche USS sur Z/os. L'éxécution ce fait à partir d'un JCL (exe du pgm BPXBATCH), cela marche bien sauf que nous rencontons des pbs de performances. En effet, on constate une consommation importante de CPU et des temps de traitements assez long par rapport au monde Windows ou unix.
Avez-vous un retour d'expérience dans ce domaine, y-a-t-il des optimisations à faire (au niveau de la JVM). je sais qu'il existe des processeurs dédiés ZAAP pour les traitements java mais nous n'en avons pas sur notre site.
Merci d'avance.
-
Bonjour Chalys,
je ne vais pas être très précise, mais dans mon souvenir (expérience dans mon ancienne boite), la mise en place d'appli Java sous Z/os avait nécessité beaucoup de travail de notre ingénieur système en ce qui concerne les performances (y compris de conso mémoire) pour arriver aux bons réglages.
En vrac parce que ça fait quelques années, nous avions du essuyer des problèmes au niveau du Driver DB2 ODBC, de la mémoire occupée par la JVM et l'appli (mais peut être que le garbage collector est aujourd'hui plus performant), et des problèmes de perf plus standard Z/OS avec des actions en montée en lla systématique et autres trucs.
Je te conseillerais de passer tes traitements dejà sous des outils standard Z/os du genre Strobe et/ou du type Mainview Z/os/USS ou TMON. Je pense que cela te donnera quelques bonnes orientations sur ton soucis.
USS dans ses bases est assis sur l'architecture Z/os, utiliser dans un premier temps les outils standard te permettra de dégrossir tout ça.
Nous n'avions pas non plus de processeurs dédiés ZAAP et pourtant, avec je l'avoue pas mal d'huile de coude nous sommes arrivé à un système aux perf très acceptables.
Enfin, il y a pas mal de RedBook IBM très intéressants sur cet environnement USS , je te conseillerais d'y jeter un œil.
-
Merci pour cette réponse, malheuresement nous ne disposons pas de ces outils sur nos sites, notre équipe système doit faire des recherches complémentaires mais en ce moment ils sont pas trop dispo (en pleine migration).
-
de mémoire les Zaaps sont simplement des processeurs standards z10 qui sont dédiés aux traitements JAVA, ce qui allege la facturation puisque IBM reduit le cout sur ses traitements. mais pour moi ce sont des processeurs standards
Mais le fait d'isoler par WLM les traitements Java permet d'avoir des perfs un peu meilleur.
Concernant l'optimisation, la JVM doit être forcée en mémoire réelle déjà.
Verifier le temps de passage du GC sur les différentes étapes (marquage, nettoyage, compactage.
Par défaut, le compactage bloque les threads donc vérifier qu'il passe pas trop souvent.
Effectivement, les drivers JDBC sont parfois capricieux, globalement, souvent le DB2 est sur la LPAR z/OS où tourne le batch et nous avions de meilleurs résultats avec les drivers de type 2 qu'avec ceux de type 4.
Et apres effectivement, il faut creuser. nous utilisions Introscope de Wily (racheté par CA)
-
Merci pour ses infos gregory.broissard par contre comment doit procéder pour forcer la JVM en mémoire réelle ?