Сравнение производительности загрузки Quarkus и Spring

Spring Boot задняя часть
Сравнение производительности загрузки Quarkus и Spring

В настоящее время основные фреймворки на рынке в основномSpringСемейная серия стволов,SrpingЭкологическое совершенство также является одной из причин, по которой многие разработчики очень любят этот фреймворк. Но сегодня мы в основном рассмотрим управление памятью и производительность.Quarkusа такжеSpring Bootразница.

Что такое Кваркус?

Официальный сайт определяется так,Quarkusэто полный стек для виртуальной машины Java (JVM) и встроенной компиляцииKubernetesСобственная среда Java, которая специально оптимизирует Java для контейнеров, что делает ее эффективной платформой для бессерверных, облачных сред и сред Kubernetes.

построить программу

Чтобы визуально сравнить различия между двумя платформами, обе программы будут импортировать только зависимости Spring Web.

Создание приложений Quarkus

мы можемОфициальный сайт КваркусаСоберите наше приложение Quarkus, отметив, что мы выбрали толькоSpring Web APIполагаться.

506(1).jpg

Скачав код и открыв его в IDE, мы обнаружим, что по умолчаниюSpringGreetingControllerДобрый:

@RestController
@RequestMapping("/hello-spring")
public class SpringGreetingController {

    @GetMapping
    public String hello() {
        return "Hello Spring";
    }
}

Создание программы Spring Boot

Излишне говорить, что метод построения Spring Boot мы только выбираемSpring Webполагаться.

92445.jpg

Давайте изменимSpringПосле создания кода добавьтеSpringGreetingControllerк проекту Spring Boot.

Сравнение производительности

Завершил вышеуказанную работу, не знаю, нашел ли тыQuarkusне какSpring Bootто жеMainФункция запуска, также не развернутая в веб-контейнере. листаяQuarkusВведение на официальном сайте, вы можете видеть, что нам нужна только такая строка команды, чтобы начатьQuarkusпрограмма:mvnw compile quarkus:dev. мы снова используемmvnw compile spring-boot:runбудетspring bootПроект работает.

0838(1).jpg

Мы используем инструмент с графическим интерфейсом для мониторинга Java, предоставленный самой jdk —jconsoleдля проверки производительности двух процессов.

Quarkus

Обзор

239fee4e568ac7166cc0c29655b60cc.png

Добрый

f1ddabbb5232fcc4c3a9dcd498ba768.png

Spring Boot

Обзор

714adcc272e8585b8a9414bc6f3cf63.png

Добрый

2ced6255ce08b73d3b467500823ff2a.png

Прямое сравнение обоих приложений показывает, чтоQuarkusМеньше памяти используется при запуске приложения.Spring BootИспользуемая память составляет около 145 МБ, в то время как использование памяти Quarkus составляет около 122 МБ. во время загрузки классаQuarkusЗагружено около 5303 классов, в то время какSpring BootЗагружено около 4785 классов.

Суммировать

Результаты теста отличаются от того, что я видел на видео.Результаты теста видеоQuarkusгораздо лучшая производительностьSpring Bootиз. Мой тест — это всего лишь справочная информация для всех, те, у кого есть сильные практические способности, могут практиковать его самостоятельно.

Адрес видео:Quarkus vs Spring Boot - Performance