Pour Jetty, Tomcat ou tout autre conteneur de servlets de votre choix, quelle est l'empreinte moyenne (mémoire et autres ressources remarquables) d'une servlet de base? Cela inclut tous les autres objets de base dont vous avez presque toujours besoin par servlet, tel qu'un résolveur de vue. Je ne cherche pas un nombre quantitatif en particulier, mais une réponse indicative qui pourrait donner une idée de la «lourdeur» ou de la «légèreté» d'une servlet.Quelle est l'empreinte (mémoire) d'une servlet Java EE?
Répondre
Je ne pense pas que ce soit quelque chose que vous obtenez beaucoup d'avantages de demander sur Stack Overflow. La variabilité dans la définition de «basique», et les différentes versions du logiciel servlet, vont être beaucoup plus grande que la quantité d'effort nécessaire pour tester cela vous-même.
Créez simplement un servlet de type "hello-world" qui n'a pas de champs, lancez le ou les conteneurs de votre choix avec ce WAR et mesurez l'utilisation de la mémoire. Cela vous donnera largement la surcharge du conteneur de servlet, que vous pouvez ensuite soustraire de vos mesures de mémoire réelles en voyant comment "lourd" le servlet cible est. Les numéros seront beaucoup plus utiles si vous générez eux-mêmes en utilisant la version cible réelle du conteneur de servlet sur le système en question, que quelqu'un répondant ici disant "47MB" ou similaire.
+1, bien que j'ajouterais probablement un numéro de la même servlet, juste pour obtenir un chiffre statistiquement significatif. Même ainsi, j'imagine que le surcoût associé à chaque servlet sera négligeable par rapport à l'overhead des bibliothèques de conteneur vm et servlet, des bibliothèques de socket natives, etc. – mdma
Je m'attends beaucoup à cela. Mais puisque Amr croit probablement le contraire, il va prendre cela plus fortement s'il le mesure lui-même; les gens qui lui disent quelque chose qui semble «invraisemblable» n'auront pas le même impact. –
La taille du conteneur est assez hors de propos (Tomcat ou Jetty, pas Websphere ou quoi que ce soit d'autre) sauf si vous faites de la programmation embarquée. La taille du Servlet peut être aussi petite que vous en avez besoin ou aussi grande que vous en avez besoin. D'une manière générale, les applications Web sans état auront moins de frais par thread que les applications avec état.
- 1. Projet Java EE, trop de mémoire?
- 2. Quelle est la meilleure façon d'apprendre Java EE pratiquement?
- 3. Quelle est la différence entre servlet et jsp?
- 4. Java EE - DAO DVO
- 5. Différence entre Apache Struts et Java EE?
- 6. Quelle est la différence principale entre Java pour Google App Engine et Java EE?
- 7. Java EE est-il requis pour Hibernate
- 8. La table version ultime Java (J2EE, Java EE, Servlet, JSP, JSTL)
- 9. À partir de Java EE
- 10. Quelle bibliothèque JavaScript utiliser avec Java EE + Struts + iBatis?
- 11. Questions sur Java EE?
- 12. Début Java EE
- 13. Java EE javax.xml.bind.MarshalException
- 14. Java EE concurrence et verrouillage
- 15. Java EE 5 Développement Environnement
- 16. Quelle pile de technologie Java EE est la mieux adaptée aux applications pilotées par les données?
- 17. Authentification par programmation Java EE 5
- 18. Mise en mémoire cache côté serveur pour l'application Java/Java EE
- 19. Authentification par programme en Java EE 6
- 20. Comment appeler la servlet lors du déploiement du projet Java EE
- 21. Besoin d'aide pour utiliser la version Eclipse Java EE pour développer un projet de servlet
- 22. Sécurité Java EE - clients d'application
- 23. Communication Java ME et Java EE
- 24. Trèfle sur Java EE Container
- 25. SAP Netweaver Java EE AS
- 26. .NET vs Java EE middleware?
- 27. Java servlet EE pour créer un fichier et montrer la progression tout en le créant
- 28. Utilisation d'une classe de beans à partir d'une servlet dans une application Java EE
- 29. Comment utiliser un fichier de configuration pour le servlet Java EE?
- 30. Environnement de développement Java EE?
J'aimerais un nombre quantitatif, mais ne peux pas trouver n'importe où. Si vous avez besoin d'exécuter une application client par instance de conteneur, il serait bon de savoir combien de mémoire vous allez consommer hors de la boîte (c'est-à-dire avant le lancement) avec jvm + container * nombre d'instances. Avec cela, vous pouvez décider, OK, Tomcat consomme trop de mémoire par instance; Je vais y aller avec Jetty, Winstone, etc. – virtualeyes