LOL oui je sais qu'il faut trouver les goulots mais c'est vraiment pas aussi simple que je le pensais.
J'arrive en stage, jamais fait de JEE (mais bcp de Java, pas mal de SQL, JDBC) ma mission : optimiser une bonne appli JEE (ce n'est pas moi le créateur) qui tourne en prod.
Ben c'est vraiment pas simple, surtout quand l'architecture est complexe et que le code n'est pas le vôtre.
J'en ai déduis plusieurs opit possibles :
-indexs sur les tables des BD + scripts de planif (en cours)
-mis en cache de JDBC avec EHCache (fait et OK)
-passer les EJB remote en EJB locaux (quelqu'un l'a t'il déjà fait ? c'est simple ?)
-déplacer les requêtes SQL qui sont placée dans une table de la base, dans un fichier de config (l'appli doit doit accéder à la BD pour trouver les requêtes qui vont lui permettre d'aller accéder à la BD... c'est le serpent qui se mord la queue)
J'utilise Youtkit Java Profiler pour monitorer l'appli et j'avoue il m'es fort utile 
Grâce à lui j'ai déjà pu identifier les requêtes gourmandes et je les ai mise en cache (10000appels => 2000appels
)
Ma question : pour mettre en tâche planif des requetes SQL faut juste utiliser l'Agent de SQL Server ?