home.social

#виртуальные_потоки — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #виртуальные_потоки, aggregated by home.social.

  1. Локальное нагрузочное тестирование в Java с использованием Virtual Threads

    Всем привет! Меня зовут Михаил, я работаю главным экспертом в ОТП Банке. Я люблю тестировать свои решения и почти всегда пишу unit- и integration-тесты. Но вот с нагрузочным тестированием ситуация обычно совсем другая: о нем вспоминают ближе к релизу, когда архитектуру уже поздно менять. В какой-то момент я поймал себя на мысли: А как вообще заранее понять, сколько ресурсов будет потреблять сервис под нагрузкой? Сколько памяти съест приложение? Когда упрется в CPU? Как поведет себя БД при разном кол-ве запросов? Чтобы ответить на эти вопросы, я написал небольшую библиотеку для локального нагрузочного тестирования на Java Virtual Threads. Она запускает большое количество задач, собирает метрики и формирует отчет - прямо в консоли или в CSV. Сегодня я покажу сам подход, разберу код библиотеки и оставлю ссылку на GitHub-репозиторий, чтобы вы могли попробовать ее у себя или адаптировать под свои задачи.

    habr.com/ru/articles/1035238/

    #java #virtual_threads #multithreading #виртуальные_потоки #нагрузочное_тестирование #нагрузочное_тестрование #unittesting

  2. Локальное нагрузочное тестирование в Java с использованием Virtual Threads

    Всем привет! Меня зовут Михаил, я работаю главным экспертом в ОТП Банке. Я люблю тестировать свои решения и почти всегда пишу unit- и integration-тесты. Но вот с нагрузочным тестированием ситуация обычно совсем другая: о нем вспоминают ближе к релизу, когда архитектуру уже поздно менять. В какой-то момент я поймал себя на мысли: А как вообще заранее понять, сколько ресурсов будет потреблять сервис под нагрузкой? Сколько памяти съест приложение? Когда упрется в CPU? Как поведет себя БД при разном кол-ве запросов? Чтобы ответить на эти вопросы, я написал небольшую библиотеку для локального нагрузочного тестирования на Java Virtual Threads. Она запускает большое количество задач, собирает метрики и формирует отчет - прямо в консоли или в CSV. Сегодня я покажу сам подход, разберу код библиотеки и оставлю ссылку на GitHub-репозиторий, чтобы вы могли попробовать ее у себя или адаптировать под свои задачи.

    habr.com/ru/articles/1035238/

    #java #virtual_threads #multithreading #виртуальные_потоки #нагрузочное_тестирование #нагрузочное_тестрование #unittesting

  3. Локальное нагрузочное тестирование в Java с использованием Virtual Threads

    Всем привет! Меня зовут Михаил, я работаю главным экспертом в ОТП Банке. Я люблю тестировать свои решения и почти всегда пишу unit- и integration-тесты. Но вот с нагрузочным тестированием ситуация обычно совсем другая: о нем вспоминают ближе к релизу, когда архитектуру уже поздно менять. В какой-то момент я поймал себя на мысли: А как вообще заранее понять, сколько ресурсов будет потреблять сервис под нагрузкой? Сколько памяти съест приложение? Когда упрется в CPU? Как поведет себя БД при разном кол-ве запросов? Чтобы ответить на эти вопросы, я написал небольшую библиотеку для локального нагрузочного тестирования на Java Virtual Threads. Она запускает большое количество задач, собирает метрики и формирует отчет - прямо в консоли или в CSV. Сегодня я покажу сам подход, разберу код библиотеки и оставлю ссылку на GitHub-репозиторий, чтобы вы могли попробовать ее у себя или адаптировать под свои задачи.

    habr.com/ru/articles/1035238/

    #java #virtual_threads #multithreading #виртуальные_потоки #нагрузочное_тестирование #нагрузочное_тестрование #unittesting

  4. Локальное нагрузочное тестирование в Java с использованием Virtual Threads

    Всем привет! Меня зовут Михаил, я работаю главным экспертом в ОТП Банке. Я люблю тестировать свои решения и почти всегда пишу unit- и integration-тесты. Но вот с нагрузочным тестированием ситуация обычно совсем другая: о нем вспоминают ближе к релизу, когда архитектуру уже поздно менять. В какой-то момент я поймал себя на мысли: А как вообще заранее понять, сколько ресурсов будет потреблять сервис под нагрузкой? Сколько памяти съест приложение? Когда упрется в CPU? Как поведет себя БД при разном кол-ве запросов? Чтобы ответить на эти вопросы, я написал небольшую библиотеку для локального нагрузочного тестирования на Java Virtual Threads. Она запускает большое количество задач, собирает метрики и формирует отчет - прямо в консоли или в CSV. Сегодня я покажу сам подход, разберу код библиотеки и оставлю ссылку на GitHub-репозиторий, чтобы вы могли попробовать ее у себя или адаптировать под свои задачи.

    habr.com/ru/articles/1035238/

    #java #virtual_threads #multithreading #виртуальные_потоки #нагрузочное_тестирование #нагрузочное_тестрование #unittesting

  5. WebFlux, Virtual Threads и все-все-все

    Или: как спорили о реактивщине, а потом Java 21 всё запутала ещё сильнее Реактивное программирование обещало нам масштабируемость и производительность. Оно их дало. Но вместе с этим подарило новый вид боли: stacktrace на 47 фреймов, половина из которых operator.onNext , а элементарные вещи написаны так, словно решаешь задачу на leetcode. Потом подвезли Virtual Threads, и половина интернета написала «реактивщина умерла», другая – «ничего не изменилось». Истина где-то посередине. Попробуем с вами разобраться.

    habr.com/ru/articles/1011538/

    #webflux #виртуальные_потоки #virtual_threads #spring #java #reactive

  6. Многопоточность для самых маленьких. Виртуальные потоки. Часть 2

    Всем привет! Многопоточность в Java развивается очень быстро, а многие всё ещё ограничиваются обычными потоками и ключевым словом synchronized. Сегодня я хочу рассказать именно о виртуальных потоках: как с ними работать, почему они меняют подход к многопоточности и какие задачи решают лучше традиционных механизмов. Буду объяснять просто и понятно, чтобы материал был полезен как новичкам, которые только знакомятся с виртуальными потоками, так и опытным разработчикам, которые хотят понять современные практики и возможности Project Loom.

    habr.com/ru/articles/971350/

    #java #multithreading #virtual_threads #многопоточность #виртуальные_потоки #обучение_программированию

  7. Java. Многопоточность для самых маленьких. Часть 1

    Всем привет! Многопоточность в Java не стоит на месте, а многие до сих пор используют только synchronized и создают потоки через new Thread() . С этого дня я запускаю серию уроков по современной многопоточности: как её правильно строить, в чём преимущества новых подходов по сравнению со старыми и что из классики всё ещё стоит использовать. Постараюсь объяснять максимально просто и наглядно, чтобы уроки были полезны и стажёрам, которые только начинают разбираться в теме, и опытным разработчикам, которым интересно узнать современный стиль работы с потоками. Поехали!

    habr.com/ru/articles/969820/

    #java #multithreading #virtual_threads #concurrency #многопоточность #виртуальные_потоки #обучение #обучение_программированию

  8. Виртуальные потоки в Java: эволюция, практика, подводные камни

    Привет! Меня зовут Денис, я руковожу группой R&D в Naumen Service Management Platform. В этой статье — разбор виртуальных потоков (VT) в Java: почему исторически обычные потоки упирались в I/O, как и зачем появились виртуальные потоки, что пошло не так в Java 21, что исправили в JDK 24–25, а также когда виртуальные потоки необходимы, а когда — лучше от них отказаться.

    habr.com/ru/companies/naumen/a

    #виртуальные_потоки #java #jdk24 #jdk25 #project_loom #jep_491 #scoped_values #threadlocal #tomcat

  9. Виртуальные потоки в Java: эволюция, практика, подводные камни

    Привет! Меня зовут Денис, я руковожу группой R&D в Naumen Service Management Platform. В этой статье — разбор виртуальных потоков (VT) в Java: почему исторически обычные потоки упирались в I/O, как и зачем появились виртуальные потоки, что пошло не так в Java 21, что исправили в JDK 24–25, а также когда виртуальные потоки необходимы, а когда — лучше от них отказаться.

    habr.com/ru/companies/naumen/a

    #виртуальные_потоки #java #jdk24 #jdk25 #project_loom #jep_491 #scoped_values #threadlocal #tomcat

  10. Виртуальные потоки в Java: эволюция, практика, подводные камни

    Привет! Меня зовут Денис, я руковожу группой R&D в Naumen Service Management Platform. В этой статье — разбор виртуальных потоков (VT) в Java: почему исторически обычные потоки упирались в I/O, как и зачем появились виртуальные потоки, что пошло не так в Java 21, что исправили в JDK 24–25, а также когда виртуальные потоки необходимы, а когда — лучше от них отказаться.

    habr.com/ru/companies/naumen/a

    #виртуальные_потоки #java #jdk24 #jdk25 #project_loom #jep_491 #scoped_values #threadlocal #tomcat

  11. Виртуальные потоки в Java: эволюция, практика, подводные камни

    Привет! Меня зовут Денис, я руковожу группой R&D в Naumen Service Management Platform. В этой статье — разбор виртуальных потоков (VT) в Java: почему исторически обычные потоки упирались в I/O, как и зачем появились виртуальные потоки, что пошло не так в Java 21, что исправили в JDK 24–25, а также когда виртуальные потоки необходимы, а когда — лучше от них отказаться.

    habr.com/ru/companies/naumen/a

    #виртуальные_потоки #java #jdk24 #jdk25 #project_loom #jep_491 #scoped_values #threadlocal #tomcat

  12. О подводных камнях виртуальных потоков в Java

    Виртуальные потоки ( JEP 425 ) являются мощным инструментом для построения приложений, которые в теории могут обслуживать десятки тысяч запросов в секунду. Однако это в теории. Практика же может выглядеть совершенно иначе. Данная статья рассказывает о нескольких подводных камнях, из-за которых виртуальные потоки могут не сработать, а сделать даже хуже.

    habr.com/ru/articles/950204/

    #виртуальные_потоки #производительность #синхронность

  13. [Перевод] Виртуальные потоки Java: разбор тестовых сценариев

    Виртуальные потоки вызвали большой интерес в сообществе разработчиков Java, включая такие фреймворки, как Open Liberty. Команда инженеров по производительности Liberty провела оценку, чтобы выяснить, может ли эта новая фича принести пользу пользователям или даже потенциально заменить текущую логику пула потоков, используемую в среде выполнения Liberty. Как минимум, мы хотели лучше понять технологию виртуальных потоков и её производительность, чтобы предоставить обоснованные рекомендации пользователям Liberty. В этой статье представлены наши результаты, включая: - Обзор реализации виртуальных потоков в Java - Обзор текущей технологии пула потоков в Liberty - Оценку по ряду показателей производительности, включая неожиданные наблюдения - Сводный обзор наших выводов

    habr.com/ru/companies/otus/art

    #java #Виртуальные_потоки #open_liberty #virtual_threads

  14. [Перевод] Java ScopedValue: Ускоренный ThreadLocal

    В инкубаторе JEP-429 появилась новая альтернатива ThreadLocal под названием ScopedValue (в значительной степени как поддержка и развитие Virtual Threads ). ScopedValue предназначен для того, чтобы предоставить более легкую альтернативу ThreadLocal, которая хорошо работает с виртуальными потоками, а также решает многочисленные недостатки, присущие API своего аналога двадцатипятилетней давности. В этой статье мы рассмотрим основные отличия ScopedValue, и за счет чего он может работать быстрее.

    habr.com/ru/companies/otus/art

    #java #spring #Scoped_values #виртуальные_потоки #Websocket

  15. [Перевод] Java ScopedValue: Ускоренный ThreadLocal

    В инкубаторе JEP-429 появилась новая альтернатива ThreadLocal под названием ScopedValue (в значительной степени как поддержка и развитие Virtual Threads ). ScopedValue предназначен для того, чтобы предоставить более легкую альтернативу ThreadLocal, которая хорошо работает с виртуальными потоками, а также решает многочисленные недостатки, присущие API своего аналога двадцатипятилетней давности. В этой статье мы рассмотрим основные отличия ScopedValue, и за счет чего он может работать быстрее.

    habr.com/ru/companies/otus/art

    #java #spring #Scoped_values #виртуальные_потоки #Websocket