Existe-t-il un moyen propre et facile de mesurer autrement que de mesurer par programme la taille de chaque type de données (dont chaque objet est composé) stocké en session?Mesure de la taille de l'objet HttpSession
Répondre
Il existe une classe SessionSize here qui a pour fonction de renvoyer la taille d'un objet HttpSession qui lui est transmis, une partie de la bibliothèque Java Web Parts.
Le contenu de la session doit être sérialisable. Donc sérialisez-le et voyez la taille du tableau d'octets résultant.
Ce n'est pas égal à la taille en mémoire, mais peut être utilisé comme une représentation grossière de celui-ci.
P.S. Notez que les champs transitoires, le cas échéant, seront exclus.
MessAdmin vous permet de calculer la taille de HttpSession bien qu'il ne soit pas clair sur la façon dont il calculates the size of transient objects.
Il semble que l'obtention d'une taille approximative de l'objet HttpSession est un exercice inutilisable en production, et on est susceptible d'obtenir une taille plus précise pour un environnement contrôlé. Une chose à noter est que la taille de l'objet de session sérialisé est imprécise en raison des changements dans le codage des caractères - Les chaînes Java sont stockées au format UTF-16 alors que le flux de sortie pourrait être dans un codage différent. Plus de détails sur pourquoi le calcul de la taille d'un objet en Java est un problème, peut être trouvé dans ce JavaWorld article.
Je l'utilise dans une application Web avec struts-2 framework et spring 3.4 comme conteneur d'objet, la taille de session est toujours -1 ce qui signifie qu'il ne peut pas calculer la taille des objets dans la session. –
@Alireza Fattahi J'ai lutté avec le même problème. Et finalement j'ai découvert que vous devez utiliser MessAdmin-SizeOf plugin en plus de MessAdmin-Core et MessAdmin-AutoProb afin d'obtenir la taille des attributs de session. Vous pouvez également ajouter MessAdmin-Serializable. – magicbacon
- 1. Mesure de la taille de l'étiquette
- 2. Mesure de distance entre deux ensembles de taille éventuellement différente
- 3. Ne pas inclure la taille du composant dans la mesure
- 4. Android: Mesure de la taille de la vue avant le rendu
- 5. Taille de la variable de mesure/poids - Plus - Existe-t-il une compression de session?
- 6. Questions sur DisplayTag à propos de HttpSession
- 7. Portlet, Spring, couche de service injection HttpSession
- 8. La mise en œuvre d'une génération de clé HttpSession
- 9. Mesure de la taille et de l'ordre des caches L1 et L2
- 10. Mesure de texte dans WPF
- 11. Mesure de la performance de travail
- 12. ID de session HttpSession différent de l'ID FlexSession
- 13. Qu'est-ce qui empêche le vol de l'identifiant de HttpSession?
- 14. Silverlight, wpf mesure problème de texte TextBlock!
- 15. mesure html rendu en javascript sans affecter la mesure
- 16. Mesure de courtes distances
- 17. Scipy.cluster.hierarchy.fclusterdata + mesure de distance
- 18. Conversion d'unité de mesure
- 19. Mesure de l'équivalence HTML?
- 20. InputFile.PostedFile.ContentLength Unités de mesure
- 21. Modification de la taille de UISearchBar
- 22. Comment affiner votre base de données MySQL à mesure que la taille de votre base de données augmente?
- 23. Mesure de la durée de la procédure stockée
- 24. Pas en mesure d'ajouter de la valeur de la colonne
- 25. Récupérer les paramètres régionaux du navigateur à partir de httpsession?
- 26. Pages Xhtml et test HttpSession, pas de jstl?
- 27. La httpsession n'expire pas lorsque Ajax inversé est activé
- 28. objets de mesure fileinfo.Length dans kbs
- 29. Problème HttpSession dans Google App Engine/J
- 30. Changement de taille de taille à l'aide de la souris
Attributs de session ** should ** Serializable (comme dans "c'est une bonne habitude de le faire"); mais ils n'ont pas ** à être. – ChssPly76
La sérialisation de session est un moyen efficace d'économiser de la mémoire en enregistrant des sessions inactives sur le disque. Si Erlanged a une application avec une session non sérialisable, c'est la première chose à corriger au lieu de mesurer la taille des sessions induviduales. –
Re: must/should: le conteneur DOIT accepter l'objet Serializable et PEUT accepter les autres. Il PEUT également lancer IllegalArgumentException sur n'importe quelle exception non sérialisable. Je dirais que Serializable est à peu près obligatoire, d'une manière WE-TOLD-YOU-SO. –