3 Stimmen

Wie kann ich die Speichernutzung des Anwendungspools durch eine ASP.NET-Anwendung genau bestimmen?

Meine Hosting-Firma schreibt eine Speicherbegrenzung von 100 MB für Anwendungspools vor (IIS 7.5).

Wie kann ich die Speichernutzung meiner ASP.NET-Anwendung genau bestimmen?

Um eine Art Basislinie zu schaffen, habe ich eine leere ASP.NET MVC 3-Anwendung mit einer einzigen Controller-Aktion erstellt, die ein String-Ergebnis zurückgibt.

Das Profiling dieser Anwendung mit ANTS führte zu folgenden Ergebnissen:

Generation 1 - 286.2KB
Generation 2 - 795.4KB
Large Object Heap - 75.63KB
Unused memory allocated to .NET - 1.323MB
Unmanaged - 26.78MB

Mein Problem ist, dass, wenn die Anwendungspoolbeschränkungen auf privaten Bytes basieren, eine leere ASP.NET MVC-Anwendung 33 MB der Poolressourcen verwendet. Daher meine MVC-Anwendung, die tatsächlich etwas tut (mit 93 MB) wird leicht über die "Grenze" gehen.

Wenn ich aber anrufe GC.GetTotalMemory dann ist das Ergebnis 8 MB, was viel akzeptabler klingt.

Ich hatte absolut keinen Erfolg bei der Suche nach Benchmarks zum Testen, aber wenn eine leere MVC-Webanwendung tatsächlich 33 MB an Ressourcen verbraucht (das klingt übertrieben), dann scheinen die Beschränkungen, die mein Host auferlegt, völlig unrealistisch.

Vielen Dank! Ben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X