Wie kann ich zuverlässig die Größe des Speicherverbrauchs einer Webapplikation messen zwecks z.B. Ressourcen-Skalierung für eine Produktionsumgebung?
Announcement
Collapse
No announcement yet.
Speicherverbrauch einer Webapplikation
Collapse
X
-
IMHO: geht nicht! Java nimmt was man der VM gibt und da der Applicationserver mit allen seinen Applikationen in einer VM Instanz rennen ist die Differenzierung auch nicht möglich.
Mein Tip: Gibt der VM aurreichend Speicher und beobachte den GC.
Wenn der Full Collect sehr häufig auftritt, dann kannst Du davon ausgehen, daß der Speicher nicht ausreichend ist. ( Der Grund kann natürlich auch eine nicht optimal geschriebene Webanwendung sein ).
lg Dietma
-
@Dietmar:
Ausreichend Speicher für die VM geb ich doch z.B. mit -Xms256M -Xmx512M.
Aber wenn der Tomcat unter Windows als Service läuft, wie bekomme ich die Parameter durchgereicht? Mit der Umgebungsvariablen JAVA_OPTS klappt das beim Starten über die startup.bat, aber zieht der Dienst (tomcat.exe startet wohl den Tomcat als Dienst) diese auch heran?
Irgendwie gibt es auch keine Möglichkeit, dieses zu prüfen, oder ist da was bekannt???
Gruss Tobia
Comment
-
@jan
cli Kommando??? k.A.
Ich kann in der Dienste-Verwaltung in den Diensteigenschaften Parameter angeben, diese werden aber nur beim Starten des Dienstes von exakt dieser Stelle aus (diesem Eigenschaften-Dialog) übergeben! Das ist ja das blöde, schliesst man das Fenster nach dem Starten des Dienstes und öffnet es wieder hat er sich die gerade eingetragenen Parameter nicht gemerkt, aber der Dienst sollte halt immer mit diesen Parametern gestartet werden...
Man müsste halt irgendwie rauskriegen, ob der Tomcat-Dienst auch auf die System-Umgebungsvariable JAVA_OPTS zugreift oder nicht..
Comment
-
hi,
ich habe mal in einem anderen zusammenhang dies gebraucht. cli kommando damit meine ich du gibst ein windows kommando auf der eingabeaufforderung ein. da konnte man soetwas machen wie
createdienst pfadToDienst Parameter
(ist pseudo code)
dieser ist dann in der windows verwaltung aufgetaucht, mit den angegeben parametern. leider weiß ich nicht mehr wie das kommando hieß. evtl findet sich im netz ja eine windows befehlsübersicht (oder direkt bei microsoft). denn wenn du siehst das service jedesmal mit anderen parametern aufgerufen wurde, muß das ja auch irgenwie zu machen sein.
sorry das ich es nicht genauer weiß
Comment
-
hi,
ich glaube es ist das sc kommando:
sc
DESCRIPTION:
SC is a command line program used for communicating with the
NT Service Controller and services.
USAGE:
sc <server> [command] [service name] <option1> <option2>...
The option <server> has the form "\\ServerName"
Further help on commands can be obtained by typing: "sc [command]"
Commands:
query-----------Queries the status for a service, or
enumerates the status for types of services.
queryex---------Queries the extended status for a service, or
enumerates the status for types of services.
start-----------Starts a service.
pause-----------Sends a PAUSE control request to a service.
interrogate-----Sends an INTERROGATE control request to a service.
continue--------Sends a CONTINUE control request to a service.
stop------------Sends a STOP request to a service.
config----------Changes the configuration of a service (persistant).
description-----Changes the description of a service.
failure---------Changes the actions taken by a service upon failure.
qc--------------Queries the configuration information for a service.
qdescription----Queries the description for a service.
qfailure--------Queries the actions taken by a service upon failure.
delete----------Deletes a service (from the registry).
create----------Creates a service. (adds it to the registry).
control---------Sends a control to a service.
sdshow----------Displays a service's security descriptor.
sdset-----------Sets a service's security descriptor.
GetDisplayName--Gets the DisplayName for a service.
GetKeyName------Gets the ServiceKeyName for a service.
EnumDepend------Enumerates Service Dependencies.
The following commands don't require a service name:
sc <server> <command> <option>
boot------------(ok | bad) Indicates whether the last boot should
be saved as the last-known-good boot configuration
Lock------------Locks the Service Database
QueryLock-------Queries the LockStatus for the SCManager Database
EXAMPLE:
sc start MyService
siehe auch:
http://www.theeldergeek.com/add_a_service_in_windows_xp.ht
Comment
Comment