Ich sehe ein Problem mit höher als erwartet CPU-Verbrauch aufgrund der Anfrage Körper Verarbeitung. Meine einfache application wird mit vertx-web erstellt. Es akzeptiert eine POST-Anfrage, die Geltendmachung der Körperlänge stimmt mit der Kopfzeile der Inhaltslänge überein. Diese Anwendung wird mit 2 HTTP-Operationen unter Verwendung einer driver bewertet. Der erste sendet 1k und der zweite sendet 8k. Jeder einmal pro 1000 Millis. Der Körper ist nur Text.HTTP-Anfrage Body Parsing Ergebnisse in High-CPU-Verbrauch
Während Benchmarking Ich habe stackdumps zeigt mehrere Threads in der gleichen Methode gefunden
io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.parseBodyAttributes
zu weiter untersuchen Ich habe JFR an den Serverprozess angehängt und den Benchmark erneut ausgeführt. Der JFR zeigt die Netty-Methode parseBodyAttributes ist die 93,5% der Stichprobenmethoden.
HTOP zeigt zwei Kerne, die fast zu 100% gepinnt sind.
Wird das Verfahren wurde wie dieser vor auszuführen gesehen?
Das Festlegen des Inhaltstyps half dabei, den Overhead zu erklären. Die Verwendung von "application/json" umgeht das Parsing. Während "multipart/form-data" analysiert werden muss. –