[C#] Grootte van Sessie object (non-serializable) bekijken

Pagina: 1
Acties:

Onderwerpen


  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 17:46
Hoi allen,

tijdens wat performance onderzoek zag ik dat er een aantal objecten in de sessie worden opgeslagen waarvan ik graag de grootte wil weten.

De objecten zijn echter niet serializable, dus het is geen kwestie van even serializen en dan de grootte tellen.

Weten jullie misschien hier een methode voor?

  • HMS
  • Registratie: Januari 2004
  • Laatst online: 21-08 23:06

HMS

Kwestie van profiling lijkt me. Kijk eens naar dotTrace o.i.d.

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 16-09 15:42

Sebazzz

3dp

Wat definieer je als grootte? In bytes? Object tree size / depth?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 17:46
In bytes inderdaad.
We lopen tegen wat geheugen problemen aan en willen even kijken wat er zoal in de sessies wordt opgeslagen. Wellicht dat daar overbodige info wordt opgeslagen. Maar eerst willen we zien of het inderdaad uberhaupt de sessie variabelen wel zijn die de oorzaak van het geheugen gebruik zijn en niet of er een of andere memory leak zit.

Acties:
  • 0 Henk 'm!

  • THA_ErAsEr
  • Registratie: Augustus 2010
  • Laatst online: 14-03 10:56
Ik snap de vraag niet 100%, maar misschien helpt dit: http://stackoverflow.com/...get-object-size-in-memory

Je kan het totale geheugen gebruik van voor je creatie van je object, vergelijken met dat erna.

Acties:
  • 0 Henk 'm!

  • __fred__
  • Registratie: November 2001
  • Laatst online: 00:44
Profiling is je beste optie.

Echter zou ik op de lange termijn zorgen dat je sessie objecten serializable worden. Je kunt dan bijvoorbeeld ook gebruik maken van session state in een aparte state server of SQL database en daarmee kun je je sessie:
  • Delen over meerdere machines in het geval van web farms en round robin achtige constructies.
  • Behouden als je web proces om de een of andere reden afsterft en wordt herstart
  • Het geheugen gebruik van je stateserver beter in de gaten houden.
Het is ff een rotklus om je objecten serializable te maken, maar daarna heeft het nogal wat voordelen.

Acties:
  • 0 Henk 'm!

Verwijderd

Zoals hierboven al gemeld is profiling de enige manier om hier inzicht in te krijgen.

Eentje die mij wel kon bevallen:
http://www.red-gate.com/p...nts-performance-profiler/

14 dagen gratis proberen.
Pagina: 1