wrapper.javaio.buffer_size |
||||||||
Diese Eigenschaft überwacht die Puffergröße, die von der Pipe zwischen den JVM- und Wrapper-Prozessen genutzt wird. Wenn die JVM Konsolenausgabe ausgibt, wird der Versuch des Threads zu schreiben geblockt werden, wenn die Pipe jemals voll wird. Dies kann zu Leistungseinbussen in Anwendungen mit viel Ausgabeleistungen führen. Alle Versionen des Wrappers älter als Version 3.5.21 nutzten die Standard-Systempuffergröße, die scheint etwa 4KB zu sein. Dies war für die meisten Anwendungen ausreichend, jedoch würden Anwendungen mit sehr langen Zeilen der Konsolenausgabe oder sehr große Ausgabemengen - bedingt durch das Blockieren - Leistungsverschlechterungen erfahren. Beginnend mit der Wrapper Version 3.5.21, wurde die Standardgröße des Pufferspeichers auf 65536 (64KB) eingestellt. Die Größe des Pufferspeichers kann jeder beliebige Wert zwischen 1024 (1KB) und 10485760 (10MB) sein, ein Wert von "0" (Null) ist auch gültig und informiert den Wrapper darüber, noch einmal die Standardgröße des Systems zu nutzen. Der Standardwert wird für die meisten Anwendungen passend sein und wurde gewählt, um zu viel unnötige Speicherverschwendung zu vermeiden.
Bitte beachten Sie, dass das Erzeugen der Konsolenlogausgabe durch das System viel Overhead verursachen kann. Dies trifft insbesondere auf Windows zu.
Wenn Ihre Anwendung durch das Loggen großer Mengen von Konsolenausgaben Leistungseinbussen erfährt, empfehlen wir, entweder die Logausgabe zu reduzieren oder die Konsolenlogausgabe durch das Setzen der wrapper.
Eine andere Möglichkeit, Leistung zu erhöhen, ist die, das Zeitintervall zu erhöhen, innerhalb dessen die zwischengespeicherte Konsolenausgabe verarbeitet wird, durch Anfordern eines dedizierten Threads beim Wrapper.
Sehen Sie bitte die wrapper. WARNINGDie gesamte Java-Ausgabe wird via stdout/stderr-Pipes zum Wrapper-Prozess versendet. Wenn der Wrapper langsam beim Schreiben in die Konsole oder Datei ist, dann wird es auch die Fähigkeit verlangsamen, Ausgabe von Java zu lesen. Wenn die Pipe voll wird, weil der Wrapper nichts gelesen hat, dann wird das Java-Pipe-Ende den Versuch, ihre Ausgabe zu schreiben, blocken. Dies kann auch Auswirkungen auf die Leistung Ihrer Anwendung haben und ist wichtig, zu beachten. Jede Anwendung wird dieses Problem haben, inklusive eines unabhängigen Javaprozesses.
Sie können dieses Problem verringern, indem Sie die wrapper. NOTEDie Fähigkeit, die Pipe-Puffergröße zu setzen, ist aktuell nur unter Windows möglich. UNIX-Plattformen gehen mit Pipe-Größen etwas anders um. Sie können durch ulimit gesetzt werden. |
Verweis: Konsole |
|