Source code of my website
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

✨ : add column charts

+10
+6
content/posts/2024-02-05-tomcat-11-virtual-threads/index.md
··· 506 506 Le temps moyen d'exécution est de 3,1&nbsp;millisecondes, et 99&nbsp;% des réponses ont été données en moins de 9&nbsp;millisecondes. 507 507 On a une amélioration des performances de près de 10&nbsp;% pour une simple Servlet&nbsp;! 508 508 509 + {{< figure src="simple-servlet-requests-by-second.svg" title="Nombre de requêtes par seconde" caption="Le plus élevé est le meilleur">}} 510 + 511 + {{< figure src="simple-servlet-mean-response-time.svg" title="Temps de réponse moyen" caption="Le plus petit est le meilleur">}} 512 + 509 513 On peut facilement interpréter cette amélioration. Les performances accrues sont probablement liées au fait que le système d'exploitation ne doit pas _switcher_ entre l'exécution de 200&nbsp;_Threads_ en paralèlle dans le cas de Tomcat&nbsp;11, ce qui occasionne donc plus de temps disponible, et donc des meilleurs temps de réponse. 510 514 511 515 ### Performances avec une Servlet effectuant un appel bloquant ··· 816 820 ``` 817 821 818 822 Les temps de réponse sont autour de 50&nbsp;millisecondes, pour un débit d'un peu moins de 8&nbsp;000&nbsp;requêtes par seconde, et 99&nbsp;% des requêtes obtiennent une réponse en moins de 53&nbsp;millisecondes&nbsp;! 823 + 824 + {{< figure src="requests-by-second.svg" title="Nombre de requêtes par seconde" caption="Le plus élevé est le meilleur">}} 819 825 820 826 ## Conclusion 821 827
+1
content/posts/2024-02-05-tomcat-11-virtual-threads/mean-response-time.svg
··· 1 + <svg version="1.1" style="font-family: Roboto; font-size: 12px;" xmlns="http://www.w3.org/2000/svg" width="650" height="400" viewBox="0 0 650 400" aria-hidden="false" aria-label="Interactive chart"><defs aria-hidden="true"><clipPath ><rect x="0" y="0" width="597" height="300" fill="none"></rect></clipPath><clipPath ><rect x="0" y="0" width="597" height="300" fill="none"></rect></clipPath></defs><rect fill="#ffffff" x="0" y="0" width="650" height="400" rx="0" ry="0" aria-hidden="true"></rect><rect fill="none" x="43" y="47" width="597" height="300" aria-hidden="true"></rect><g data-z-index="0" aria-hidden="true"></g><rect fill="none" data-z-index="1" x="43" y="47" width="597" height="300" aria-hidden="true"></rect><g data-z-index="1" aria-hidden="true"><path fill="none" stroke-dasharray="none" data-z-index="1" d="M 639.5 47 L 639.5 347" opacity="1"></path><path fill="none" stroke-dasharray="none" data-z-index="1" d="M 42.5 47 L 42.5 347" opacity="1"></path></g><g data-z-index="1" aria-hidden="true"><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 347.5 L 640 347.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 287.5 L 640 287.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 227.5 L 640 227.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 167.5 L 640 167.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 107.5 L 640 107.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 46.5 L 640 46.5" opacity="1"></path></g><g data-z-index="2" aria-hidden="true"><path fill="none" stroke="#ccd6eb" stroke-width="1" data-z-index="7" d="M 43 347.5 L 640 347.5"></path></g><g data-z-index="2" aria-hidden="true"><path fill="none" data-z-index="7" d="M 43 47 L 43 347"></path></g><g data-z-index="3" aria-hidden="false"><g data-z-index="0.1" opacity="1" transform="translate(43,47) scale(1 1)" clip-path="url(#highcharts-yxt5zup-442-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Tomcat 10, bar series 1 of 4 with 1 bar."><rect x="137" y="182" width="54" height="119" fill="rgb(162,51,115)" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 3,967. Tomcat 10."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(43,47) scale(1 1)" clip-path="none" aria-hidden="true"></g><g data-z-index="0.1" opacity="1" transform="translate(43,47) scale(1 1)" clip-path="url(#highcharts-yxt5zup-442-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Tomcat 11, bar series 2 of 4 with 1 bar."><rect x="227" y="65" width="54" height="236" fill="rgb(145,101,178)" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 7,881. Tomcat 11."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(43,47) scale(1 1)" clip-path="none" aria-hidden="true"></g><g data-z-index="0.1" opacity="1" transform="translate(43,47) scale(1 1)" clip-path="url(#highcharts-yxt5zup-442-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Spring Boot 3, bar series 3 of 4 with 1 bar."><rect x="316" y="183" width="54" height="118" fill="rgb(128,124,200)" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 3,938. Spring Boot 3."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(43,47) scale(1 1)" clip-path="none" aria-hidden="true"></g><g data-z-index="0.1" opacity="1" transform="translate(43,47) scale(1 1)" clip-path="url(#highcharts-yxt5zup-442-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Spring Boot 3 &amp; VT, bar series 4 of 4 with 1 bar."><rect x="406" y="64" width="54" height="237" fill="rgb(94,164,226)" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 7,889. Spring Boot 3 &amp; Virtual Threads."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(43,47) scale(1 1)" clip-path="none" aria-hidden="true"></g></g><g data-z-index="3" aria-hidden="true"><g stroke-linecap="round" style="cursor: pointer;" transform="translate(616,10)"><title>Chart context menu</title><rect fill="#ffffff" x="0.5" y="0.5" width="24" height="22" rx="2" ry="2" stroke="none" stroke-width="1"></rect><path fill="#666666" d="M 6 6.5 L 20 6.5 M 6 11.5 L 20 11.5 M 6 16.5 L 20 16.5" data-z-index="1" stroke="#666666" stroke-width="3"></path><text font-family='Roboto-Regular,Roboto' x="0" data-z-index="1" y="15.5" style="color: rgb(51, 51, 51); font-weight: normal; fill: rgb(51, 51, 51);"></text></g></g><text font-family='Roboto-Regular,Roboto' x="325" text-anchor="middle" data-z-index="4" style="color: rgb(51, 51, 51); font-size: 18px; fill: rgb(51, 51, 51);" y="24" aria-hidden="true">Requêtes par seconde</text><text font-family='Roboto-Regular,Roboto' x="325" text-anchor="middle" data-z-index="4" style="color: rgb(102, 102, 102); fill: rgb(102, 102, 102);" y="46" aria-hidden="true"></text><text font-family='Roboto-Regular,Roboto' x="10" text-anchor="start" data-z-index="4" style="color: rgb(102, 102, 102); fill: rgb(102, 102, 102);" y="397" aria-hidden="true"></text><g data-z-index="7" aria-hidden="true" transform="translate(95,359)"><rect fill="none" rx="0" ry="0" x="0" y="0" width="459" height="26"></rect><g data-z-index="1"><g><g data-z-index="1" transform="translate(8,3)"><text font-family='Roboto-Regular,Roboto' x="21" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2" y="15">Tomcat 10</text><rect x="2" y="4" width="12" height="12" fill="#a23373" rx="6" ry="6" data-z-index="3"></rect></g><g data-z-index="1" transform="translate(108.63333511352539,3)"><text font-family='Roboto-Regular,Roboto' x="21" y="15" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2">Tomcat 11</text><rect x="2" y="4" width="12" height="12" fill="#9165b2" rx="6" ry="6" data-z-index="3"></rect></g><g data-z-index="1" transform="translate(209.26667022705078,3)"><text font-family='Roboto-Regular,Roboto' x="21" y="15" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2">Spring Boot 3</text><rect x="2" y="4" width="12" height="12" fill="#807cc8" rx="6" ry="6" data-z-index="3"></rect></g><g data-z-index="1" transform="translate(325.4500045776367,3)"><text font-family='Roboto-Regular,Roboto' x="21" y="15" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2">Spring Boot 3 &amp; Virtual Threads</text><rect x="2" y="4" width="12" height="12" fill="#5ea4e2" rx="6" ry="6" data-z-index="3"></rect></g></g></g></g><g data-z-index="7" aria-hidden="true"><text font-family='Roboto-Regular,Roboto' x="341.5" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="middle" transform="translate(0,0)" y="366" opacity="1"></text></g><g data-z-index="7" aria-hidden="true"><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="351" opacity="1">0</text><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="291" opacity="1">2k</text><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="231" opacity="1">4k</text><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="171" opacity="1">6k</text><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="111" opacity="1">8k</text><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="51" opacity="1">10k</text></g></svg>
+1
content/posts/2024-02-05-tomcat-11-virtual-threads/requests-by-second.svg
··· 1 + <svg version="1.1" style="font-family: Roboto; font-size: 12px;" xmlns="http://www.w3.org/2000/svg" width="650" height="400" viewBox="0 0 650 400" aria-hidden="false" aria-label="Interactive chart"><defs aria-hidden="true"><clipPath ><rect x="0" y="0" width="597" height="337" fill="none"></rect></clipPath><clipPath ><rect x="0" y="0" width="597" height="337" fill="none"></rect></clipPath></defs><rect fill="#ffffff" x="0" y="0" width="650" height="400" rx="0" ry="0" aria-hidden="true"></rect><rect fill="none" x="43" y="10" width="597" height="337" aria-hidden="true"></rect><g data-z-index="0" aria-hidden="true"></g><rect fill="none" data-z-index="1" x="43" y="10" width="597" height="337" aria-hidden="true"></rect><g data-z-index="1" aria-hidden="true"><path fill="none" stroke-dasharray="none" data-z-index="1" d="M 639.5 10 L 639.5 347" opacity="1"></path><path fill="none" stroke-dasharray="none" data-z-index="1" d="M 42.5 10 L 42.5 347" opacity="1"></path></g><g data-z-index="1" aria-hidden="true"><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 347.5 L 640 347.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 280.5 L 640 280.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 212.5 L 640 212.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 145.5 L 640 145.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 77.5 L 640 77.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 43 9.5 L 640 9.5" opacity="1"></path></g><g data-z-index="2" aria-hidden="true"><path fill="none" stroke="#ccd6eb" stroke-width="1" data-z-index="7" d="M 43 347.5 L 640 347.5"></path></g><g data-z-index="2" aria-hidden="true"><path fill="none" data-z-index="7" d="M 43 10 L 43 347"></path></g><g data-z-index="3" aria-hidden="false"><g data-z-index="0.1" opacity="1" transform="translate(43,10) scale(1 1)" clip-path="url(#highcharts-8ckic42-266-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Tomcat 10, bar series 1 of 4 with 1 bar."><rect x="137" y="204" width="54" height="134" fill="#a23373" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 3,967. Tomcat 10."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(43,10) scale(1 1)" clip-path="none" aria-hidden="true"></g><g data-z-index="0.1" opacity="1" transform="translate(43,10) scale(1 1)" clip-path="url(#highcharts-8ckic42-266-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Tomcat 11, bar series 2 of 4 with 1 bar."><rect x="227" y="72" width="54" height="266" fill="#9165b2" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 7,881. Tomcat 11."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(43,10) scale(1 1)" clip-path="none" aria-hidden="true"></g><g data-z-index="0.1" opacity="1" transform="translate(43,10) scale(1 1)" clip-path="url(#highcharts-8ckic42-266-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Spring Boot 3, bar series 3 of 4 with 1 bar."><rect x="316" y="205" width="54" height="133" fill="#807cc8" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 3,938. Spring Boot 3."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(43,10) scale(1 1)" clip-path="none" aria-hidden="true"></g><g data-z-index="0.1" opacity="1" transform="translate(43,10) scale(1 1)" clip-path="url(#highcharts-8ckic42-266-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Spring Boot 3 &amp; Virtual Threads, bar series 4 of 4 with 1 bar."><rect x="406" y="72" width="54" height="266" fill="#5ea4e2" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 7,889. Spring Boot 3 &amp; Virtual Threads."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(43,10) scale(1 1)" clip-path="none" aria-hidden="true"></g></g><g data-z-index="3" aria-hidden="true"><g stroke-linecap="round" style="cursor: pointer;" transform="translate(616,10)"><title>Chart context menu</title><rect fill="#ffffff" x="0.5" y="0.5" width="24" height="22" rx="2" ry="2" stroke="none" stroke-width="1"></rect><path fill="#666666" d="M 6 6.5 L 20 6.5 M 6 11.5 L 20 11.5 M 6 16.5 L 20 16.5" data-z-index="1" stroke="#666666" stroke-width="3"></path><text font-family='Roboto-Regular,Roboto' x="0" data-z-index="1" y="15.5" style="color: rgb(51, 51, 51); font-weight: normal; fill: rgb(51, 51, 51);"></text></g></g><text font-family='Roboto-Regular,Roboto' x="325" text-anchor="middle" data-z-index="4" style="color: rgb(51, 51, 51); font-size: 18px; fill: rgb(51, 51, 51);" y="24" aria-hidden="true"></text><text font-family='Roboto-Regular,Roboto' x="325" text-anchor="middle" data-z-index="4" style="color: rgb(102, 102, 102); fill: rgb(102, 102, 102);" y="24" aria-hidden="true"></text><text font-family='Roboto-Regular,Roboto' x="10" text-anchor="start" data-z-index="4" style="color: rgb(102, 102, 102); fill: rgb(102, 102, 102);" y="397" aria-hidden="true"></text><g data-z-index="7" aria-hidden="true" transform="translate(61,359)"><rect fill="none" rx="0" ry="0" x="0" y="0" width="528" height="26"></rect><g data-z-index="1"><g><g data-z-index="1" transform="translate(8,3)"><text font-family='Roboto-Regular,Roboto' x="21" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2" y="15">Tomcat 10</text><rect x="2" y="4" width="12" height="12" fill="#a23373" rx="6" ry="6" data-z-index="3"></rect></g><g data-z-index="1" transform="translate(108.63333511352539,3)"><text font-family='Roboto-Regular,Roboto' x="21" y="15" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2">Tomcat 11</text><rect x="2" y="4" width="12" height="12" fill="#9165b2" rx="6" ry="6" data-z-index="3"></rect></g><g data-z-index="1" transform="translate(209.26667022705078,3)"><text font-family='Roboto-Regular,Roboto' x="21" y="15" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2">Spring Boot 3</text><rect x="2" y="4" width="12" height="12" fill="#807cc8" rx="6" ry="6" data-z-index="3"></rect></g><g data-z-index="1" transform="translate(325.4500045776367,3)"><text font-family='Roboto-Regular,Roboto' x="21" y="15" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2">Spring Boot 3 &amp; Virtual Threads</text><rect x="2" y="4" width="12" height="12" fill="#5ea4e2" rx="6" ry="6" data-z-index="3"></rect></g></g></g></g><g data-z-index="7" aria-hidden="true"><text font-family='Roboto-Regular,Roboto' x="341.5" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="middle" transform="translate(0,0)" y="366" opacity="1"></text></g><g data-z-index="7" aria-hidden="true"><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="351" opacity="1">0</text><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="284" opacity="1">2k</text><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="216" opacity="1">4k</text><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="149" opacity="1">6k</text><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="81" opacity="1">8k</text><text font-family='Roboto-Regular,Roboto' x="28" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="14" opacity="1">10k</text></g></svg>
+1
content/posts/2024-02-05-tomcat-11-virtual-threads/simple-servlet-mean-response-time.svg
··· 1 + <svg version="1.1" style="font-family: Roboto; font-size: 12px;" xmlns="http://www.w3.org/2000/svg" width="650" height="400" viewBox="0 0 650 400" aria-hidden="false" aria-label="Interactive chart"><defs aria-hidden="true"><clipPath ><rect x="0" y="0" width="587" height="337" fill="none"></rect></clipPath><clipPath ><rect x="0" y="0" width="587" height="337" fill="none"></rect></clipPath></defs><rect fill="#ffffff" x="0" y="0" width="650" height="400" rx="0" ry="0" aria-hidden="true"></rect><rect fill="none" x="53" y="10" width="587" height="337" aria-hidden="true"></rect><g data-z-index="0" aria-hidden="true"></g><rect fill="none" data-z-index="1" x="53" y="10" width="587" height="337" aria-hidden="true"></rect><g data-z-index="1" aria-hidden="true"><path fill="none" stroke-dasharray="none" data-z-index="1" d="M 639.5 10 L 639.5 347" opacity="1"></path><path fill="none" stroke-dasharray="none" data-z-index="1" d="M 52.5 10 L 52.5 347" opacity="1"></path></g><g data-z-index="1" aria-hidden="true"><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 53 347.5 L 640 347.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 53 263.5 L 640 263.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 53 179.5 L 640 179.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 53 94.5 L 640 94.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 53 9.5 L 640 9.5" opacity="1"></path></g><g data-z-index="2" aria-hidden="true"><path fill="none" stroke="#ccd6eb" stroke-width="1" data-z-index="7" d="M 53 347.5 L 640 347.5"></path></g><g data-z-index="2" aria-hidden="true"><path fill="none" data-z-index="7" d="M 53 10 L 53 347"></path></g><g data-z-index="3" aria-hidden="false"><g data-z-index="0.1" opacity="1" transform="translate(53,10) scale(1 1)" clip-path="url(#highcharts-yxt5zup-475-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Tomcat 10, bar series 1 of 2 with 1 bar."><rect x="153" y="52" width="106" height="286" fill="#a23373" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 0.0034. Tomcat 10."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(53,10) scale(1 1)" clip-path="none" aria-hidden="true"></g><g data-z-index="0.1" opacity="1" transform="translate(53,10) scale(1 1)" clip-path="url(#highcharts-yxt5zup-475-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Tomcat 11, bar series 2 of 2 with 1 bar."><rect x="329" y="77" width="106" height="261" fill="#9165b2" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 0.0031. Tomcat 11."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(53,10) scale(1 1)" clip-path="none" aria-hidden="true"></g></g><g data-z-index="3" aria-hidden="true"><g stroke-linecap="round" style="cursor: pointer;" transform="translate(616,10)"><title>Chart context menu</title><rect fill="#ffffff" x="0.5" y="0.5" width="24" height="22" rx="2" ry="2" stroke="none" stroke-width="1"></rect><path fill="#666666" d="M 6 6.5 L 20 6.5 M 6 11.5 L 20 11.5 M 6 16.5 L 20 16.5" data-z-index="1" stroke="#666666" stroke-width="3"></path><text font-family='Roboto-Regular,Roboto' x="0" data-z-index="1" y="15.5" style="color: rgb(51, 51, 51); font-weight: normal; fill: rgb(51, 51, 51);"></text></g></g><text font-family='Roboto-Regular,Roboto' x="325" text-anchor="middle" data-z-index="4" style="color: rgb(51, 51, 51); font-size: 18px; fill: rgb(51, 51, 51);" y="24" aria-hidden="true"></text><text font-family='Roboto-Regular,Roboto' x="325" text-anchor="middle" data-z-index="4" style="color: rgb(102, 102, 102); fill: rgb(102, 102, 102);" y="24" aria-hidden="true"></text><text font-family='Roboto-Regular,Roboto' x="10" text-anchor="start" data-z-index="4" style="color: rgb(102, 102, 102); fill: rgb(102, 102, 102);" y="397" aria-hidden="true"></text><g data-z-index="7" aria-hidden="true" transform="translate(226,359)"><rect fill="none" rx="0" ry="0" x="0" y="0" width="197" height="26"></rect><g data-z-index="1"><g><g data-z-index="1" transform="translate(8,3)"><text font-family='Roboto-Regular,Roboto' x="21" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2" y="15">Tomcat 10</text><rect x="2" y="4" width="12" height="12" fill="#a23373" rx="6" ry="6" data-z-index="3"></rect></g><g data-z-index="1" transform="translate(108.63333511352539,3)"><text font-family='Roboto-Regular,Roboto' x="21" y="15" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2">Tomcat 11</text><rect x="2" y="4" width="12" height="12" fill="#9165b2" rx="6" ry="6" data-z-index="3"></rect></g></g></g></g><g data-z-index="7" aria-hidden="true"><text font-family='Roboto-Regular,Roboto' x="346.5" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="middle" transform="translate(0,0)" y="366" opacity="1"></text></g><g data-z-index="7" aria-hidden="true"><text font-family='Roboto-Regular,Roboto' x="38" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="351" opacity="1">0</text><text font-family='Roboto-Regular,Roboto' x="38" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="267" opacity="1">0.001</text><text font-family='Roboto-Regular,Roboto' x="38" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="183" opacity="1">0.002</text><text font-family='Roboto-Regular,Roboto' x="38" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="98" opacity="1">0.003</text><text font-family='Roboto-Regular,Roboto' x="38" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="14" opacity="1">0.004</text></g></svg>
+1
content/posts/2024-02-05-tomcat-11-virtual-threads/simple-servlet-requests-by-second.svg
··· 1 + <svg version="1.1" style="font-family: Roboto; font-size: 12px;" xmlns="http://www.w3.org/2000/svg" width="650" height="400" viewBox="0 0 650 400" aria-hidden="false" aria-label="Interactive chart"><defs aria-hidden="true"><clipPath ><rect x="0" y="0" width="590" height="337" fill="none"></rect></clipPath><clipPath ><rect x="0" y="0" width="590" height="337" fill="none"></rect></clipPath></defs><rect fill="#ffffff" x="0" y="0" width="650" height="400" rx="0" ry="0" aria-hidden="true"></rect><rect fill="none" x="50" y="10" width="590" height="337" aria-hidden="true"></rect><g data-z-index="0" aria-hidden="true"></g><rect fill="none" data-z-index="1" x="50" y="10" width="590" height="337" aria-hidden="true"></rect><g data-z-index="1" aria-hidden="true"><path fill="none" stroke-dasharray="none" data-z-index="1" d="M 639.5 10 L 639.5 347" opacity="1"></path><path fill="none" stroke-dasharray="none" data-z-index="1" d="M 49.5 10 L 49.5 347" opacity="1"></path></g><g data-z-index="1" aria-hidden="true"><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 50 347.5 L 640 347.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 50 291.5 L 640 291.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 50 235.5 L 640 235.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 50 179.5 L 640 179.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 50 122.5 L 640 122.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 50 66.5 L 640 66.5" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="1" stroke-dasharray="none" data-z-index="1" d="M 50 9.5 L 640 9.5" opacity="1"></path></g><g data-z-index="2" aria-hidden="true"><path fill="none" stroke="#ccd6eb" stroke-width="1" data-z-index="7" d="M 50 347.5 L 640 347.5"></path></g><g data-z-index="2" aria-hidden="true"><path fill="none" data-z-index="7" d="M 50 10 L 50 347"></path></g><g data-z-index="3" aria-hidden="false"><g data-z-index="0.1" opacity="1" transform="translate(50,10) scale(1 1)" clip-path="url(#highcharts-yxt5zup-470-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Tomcat 10, bar series 1 of 2 with 1 bar."><rect x="153" y="73" width="107" height="265" fill="#a23373" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 117,787. Tomcat 10."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(50,10) scale(1 1)" clip-path="none" aria-hidden="true"></g><g data-z-index="0.1" opacity="1" transform="translate(50,10) scale(1 1)" clip-path="url(#highcharts-yxt5zup-470-)" style="cursor: pointer; outline: none;" aria-hidden="false" role="region" tabindex="-1" aria-label="Tomcat 11, bar series 2 of 2 with 1 bar."><rect x="330" y="47" width="107" height="291" fill="#9165b2" opacity="1" tabindex="-1" style="outline: none;" role="img" aria-label="x, 0, 129,554. Tomcat 11."></rect></g><g data-z-index="0.1" opacity="1" transform="translate(50,10) scale(1 1)" clip-path="none" aria-hidden="true"></g></g><g data-z-index="3" aria-hidden="true"><g stroke-linecap="round" style="cursor: pointer;" transform="translate(616,10)"><title>Chart context menu</title><rect fill="#ffffff" x="0.5" y="0.5" width="24" height="22" rx="2" ry="2" stroke="none" stroke-width="1"></rect><path fill="#666666" d="M 6 6.5 L 20 6.5 M 6 11.5 L 20 11.5 M 6 16.5 L 20 16.5" data-z-index="1" stroke="#666666" stroke-width="3"></path><text font-family='Roboto-Regular,Roboto' x="0" data-z-index="1" y="15.5" style="color: rgb(51, 51, 51); font-weight: normal; fill: rgb(51, 51, 51);"></text></g></g><text font-family='Roboto-Regular,Roboto' x="325" text-anchor="middle" data-z-index="4" style="color: rgb(51, 51, 51); font-size: 18px; fill: rgb(51, 51, 51);" y="24" aria-hidden="true"></text><text font-family='Roboto-Regular,Roboto' x="325" text-anchor="middle" data-z-index="4" style="color: rgb(102, 102, 102); fill: rgb(102, 102, 102);" y="24" aria-hidden="true"></text><text font-family='Roboto-Regular,Roboto' x="10" text-anchor="start" data-z-index="4" style="color: rgb(102, 102, 102); fill: rgb(102, 102, 102);" y="397" aria-hidden="true"></text><g data-z-index="7" aria-hidden="true" transform="translate(226,359)"><rect fill="none" rx="0" ry="0" x="0" y="0" width="197" height="26"></rect><g data-z-index="1"><g><g data-z-index="1" transform="translate(8,3)"><text font-family='Roboto-Regular,Roboto' x="21" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2" y="15">Tomcat 10</text><rect x="2" y="4" width="12" height="12" fill="#a23373" rx="6" ry="6" data-z-index="3"></rect></g><g data-z-index="1" transform="translate(108.63333511352539,3)"><text font-family='Roboto-Regular,Roboto' x="21" y="15" style="color: rgb(51, 51, 51); cursor: pointer; font-size: 12px; font-weight: bold; fill: rgb(51, 51, 51);" text-anchor="start" data-z-index="2">Tomcat 11</text><rect x="2" y="4" width="12" height="12" fill="#9165b2" rx="6" ry="6" data-z-index="3"></rect></g></g></g></g><g data-z-index="7" aria-hidden="true"><text font-family='Roboto-Regular,Roboto' x="345" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="middle" transform="translate(0,0)" y="366" opacity="1"></text></g><g data-z-index="7" aria-hidden="true"><text font-family='Roboto-Regular,Roboto' x="35" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="351" opacity="1">0</text><text font-family='Roboto-Regular,Roboto' x="35" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="295" opacity="1">25k</text><text font-family='Roboto-Regular,Roboto' x="35" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="239" opacity="1">50k</text><text font-family='Roboto-Regular,Roboto' x="35" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="183" opacity="1">75k</text><text font-family='Roboto-Regular,Roboto' x="35" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="126" opacity="1">100k</text><text font-family='Roboto-Regular,Roboto' x="35" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="70" opacity="1">125k</text><text font-family='Roboto-Regular,Roboto' x="35" style="color: rgb(102, 102, 102); cursor: default; font-size: 11px; fill: rgb(102, 102, 102);" text-anchor="end" transform="translate(0,0)" y="14" opacity="1">150k</text></g></svg>