[JAVA] nombre de threads, classes

Bonjour à tous.

Comme j’en ai déjà parlé ici, je suis en train de faire mon mémoire sur le monitoring des performances d’un site web.
Un site en Java pour le coup.

Naturellement JMX semble interessant pour ce que je compte faire.

JMX propose d’afficher des jolis graphes avec le nombre de threads et de classes, chargés, totals, en cours, etc. Plein de chiffres.

MAIS à quoi servent vraiment ces chiffres ? En quoi cela influe-t-il sur les performances de l’application concrétement. J’arrive pas à trouver un seul article qui m’explique pourquoi quand y’a trop de threads ou classe ça va pas, quel est le nombre “optimal” et autre truc comme ça.

Je suis bien d’accord que quand “y’en a trop” spabien, mais si je pouvais argumenté un peu et éviter la décapitation pendant la soutenance (qui sera en allemand, raison de plus pour éviter les questions trop technique)

Ah oui, mes cours de programmations se sont arrêté à un niveau bien bas, donc non, je l’ai pas appris en cours!

Merci d’avance

Ben… Chaque objet instancie (= chaque instance d’un objet d’une classe) bouffe de la place en memoire. Chaque thread copie une partie du code dans la memoire egalement. Pour ce qui est du nombre optimal, c’est comme dire “est ce que telle ville est moche ?” y’a des avantages et des inconvenients, mais il n’existe pas de vraie reponse. Rapport a ton memoire, a toi de savoir si tu em augmentant le nombre de thread l’application serait plus gourmande, ou si au contraire elle permettrait au final moins de temps CPU meme si cela implique une plus grande montee en charge sur un laps de temps plus court.

Desole pour le pave.

Et c’est la même argumentation pour les classes ?

En fait, le nombre de classes, c’est déterminé pendant le design. Le nombre de classes lui-meme n’a pas vraiment d’influence sur les performances. Par contre, un grand nombre de classes peut signifier un design pourri où les fonctionnalités sont trop dispersées et les objets (= instances des classes) passent leur temps a faire des appels de méthodes entre eux, ruinant tes performances. Mais le nombre de classes n’est pas un indicateur direct de la performance d’une application.

Par contre, si tu dis « classe » en pensant « objet », relis l’explication de djktk, elle résume bien le truc.