основное введение
Другими словами, в Spring Boot 2.2 были сделаны значительные оптимизации производительности. Приложения будут запускаться быстрее и использовать меньше памяти. Затем я протестирую его с проектом, который уже запущен в сети, это правда?
Согласно краткому описанию проекта, исходная версия Spring Boot — 2.1.3, планируется обновление до 2.2.7, сравниваются две. Конечно просто обновить версию и изменить номер порта, остальные не меняются. контейнерUndertow
.
Начальное время
2.1.3.RELEASE
Started SyncApplication in 11.747 seconds (JVM running for 12.292)
2.2.7.RELEASE
Started SyncApplication in 11.955 seconds (JVM running for 12.577)
Суммировать
Без изменения конфигурации время запуска не меняется.Если сравнивать три записи запуска, то на самом деле2.1.3.RELEASE
Быстрее. но,Spring Boot 2.2
Для ускорения запуска приложения также добавлен глобальный параметр конфигурации отложенной инициализации.spring.main.lazy-initialization
, после установки значения true время запуска будет следующим:
Started SyncApplication in 13.123 seconds (JVM running for 13.783)
Минимальная память после запуска [после GC]
2.1.3.RELEASE
已用: 47.7Mb
已提交: 1.1Gb
活动线程: 34
线程峰值: 37
已加载类: 15511
2.2.7.RELEASE
已用: 37.4Mb
已提交: 1.6Gb
活动线程: 33
线程峰值: 35
已加载类: 15519
Суммировать
2.2.7.RELEASE
Начальное использование памяти по-прежнему относительно невелико, но расширение после запуска происходит относительно быстро, и количество потоков также намного меньше.2.1.3.RELEASE
Выделение памяти растет с небольшим градиентом.
простой тест
2.1.3.RELEASE
Running 20s test @ http://127.0.0.1:9801/sync/welcome
4 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 24.42ms 19.78ms 261.02ms 67.57%
Req/Sec 1.09k 320.95 1.73k 68.72%
Latency Distribution
50% 11.95ms
75% 44.17ms
90% 46.44ms
99% 86.46ms
86984 requests in 20.05s, 13.27MB read
Requests/sec: 4337.66
Transfer/sec: 677.76KB
2.2.7.RELEASE
Running 20s test @ http://127.0.0.1:9802/sync/welcome
4 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 22.23ms 16.77ms 176.80ms 66.22%
Req/Sec 1.20k 348.48 1.82k 66.71%
Latency Distribution
50% 13.22ms
75% 36.49ms
90% 44.61ms
99% 72.03ms
95815 requests in 20.05s, 14.62MB read
Requests/sec: 4778.59
Transfer/sec: 746.65KB
Суммировать
2.2.7.RELEASE
Соотношение запросов в секунду2.1.3.RELEASE
Это немного высоковато, но особого преимущества в использовании памяти нет, а при прогреве обнаруживается, что2.2.7.RELEASE
Произойдет всплеск загрузки ЦП, и последующие тесты вернутся в нормальное состояние.
индукция
Spring Boot
Новая версия по-прежнему хороша в отрасли,Spring
Его стабильность и надежность заслуживают доверия, и мы надеемся, что он будет становиться все лучше и лучше.