Size: a a a

2020 February 26

SZ

Sergey Zolotov in Kotlin JVM
плюс он не на уровне engine реализован
источник

VP

Vladimir Petrakovich in Kotlin JVM
Sergey Zolotov
не. там отдельная фича. можешь на каждый запрос отдельно задавать таймауты
Ну я про это, да, что можно для каких-то особых запросов использовать другой
источник

VP

Vladimir Petrakovich in Kotlin JVM
Выглядит так, что эту фичу можно было за 10 строчек сделать раньше самому)
источник

ДЧ

Денис Чиканов in Kotlin JVM
Доброе утро.
А какие библиотеки сейчас принято/актуально использовать для тестирования, например, поведения при concurrent http requests к серверу?
Меня интересует именно та часть, которая про "накидать пачку запросов, отправить ~параллельно, собрать результаты".
источник

AE

Alexandr Emelyanov in Kotlin JVM
Денис Чиканов
Доброе утро.
А какие библиотеки сейчас принято/актуально использовать для тестирования, например, поведения при concurrent http requests к серверу?
Меня интересует именно та часть, которая про "накидать пачку запросов, отправить ~параллельно, собрать результаты".
10:36 PM MSK. Доброе утро, да)
источник

AE

Alexandr Emelyanov in Kotlin JVM
Денис Чиканов
Доброе утро.
А какие библиотеки сейчас принято/актуально использовать для тестирования, например, поведения при concurrent http requests к серверу?
Меня интересует именно та часть, которая про "накидать пачку запросов, отправить ~параллельно, собрать результаты".
Есть некий гатлинг, есть Яндекс танк
источник

AE

Alexandr Emelyanov in Kotlin JVM
Я нагружал консольной тулзой, сейчас поищу
источник

ДЧ

Денис Чиканов in Kotlin JVM
Alexandr Emelyanov
Есть некий гатлинг, есть Яндекс танк
Меня не очень интересует нагрузочное тестирование прям "по хардкору", наоборот, лучше что-то простое
источник

AE

Alexandr Emelyanov in Kotlin JVM
Денис Чиканов
Меня не очень интересует нагрузочное тестирование прям "по хардкору", наоборот, лучше что-то простое
Ща
источник

ДЧ

Денис Чиканов in Kotlin JVM
Т.е. вопрос не в том "сломается ли приложение, когда запросов много", скорее в "поведет ли приложение себя корректно при параллельной обработке запросов"
источник

AE

Alexandr Emelyanov in Kotlin JVM
источник

AE

Alexandr Emelyanov in Kotlin JVM
Денис Чиканов
Т.е. вопрос не в том "сломается ли приложение, когда запросов много", скорее в "поведет ли приложение себя корректно при параллельной обработке запросов"
А, в этом смысле. Ну тут надо хитрые кейсы делать скорее всего, если есть предположение что там то сломается
источник

AE

Alexandr Emelyanov in Kotlin JVM
Денис Чиканов
Т.е. вопрос не в том "сломается ли приложение, когда запросов много", скорее в "поведет ли приложение себя корректно при параллельной обработке запросов"
А какой стек и какого рода проблемы предполагаются?
источник

ДЧ

Денис Чиканов in Kotlin JVM
Alexandr Emelyanov
А какой стек и какого рода проблемы предполагаются?
Котлин, микронавт. Дальше пока ни в чём не ограничен.
Конкарренси при работе с БД  (понятно, что это вопрос правильной работы с БД в не меньшей мере, чем в логике приложения, но функциональные тесты есть функциональные тесты) - условный пример: не дать снять больше баллов, чем на аккаунте есть, например, если у нас есть Х баллов, и пришли два запроса на снятие Х баллов почти одновременно.
источник

AE

Alexandr Emelyanov in Kotlin JVM
Денис Чиканов
Котлин, микронавт. Дальше пока ни в чём не ограничен.
Конкарренси при работе с БД  (понятно, что это вопрос правильной работы с БД в не меньшей мере, чем в логике приложения, но функциональные тесты есть функциональные тесты) - условный пример: не дать снять больше баллов, чем на аккаунте есть, например, если у нас есть Х баллов, и пришли два запроса на снятие Х баллов почти одновременно.
Pessimistic locking
источник

AE

Alexandr Emelyanov in Kotlin JVM
Дороже обычного апдейта, но зато надёжно
источник

ДЧ

Денис Чиканов in Kotlin JVM
Alexandr Emelyanov
Pessimistic locking
Я понимаю часть про то, как сделать, спасибо, мне хотелось бы иметь тест, который будет гоняться и (хотя бы вероятно) проверять, что это никто никогда не сломает)
источник

AE

Alexandr Emelyanov in Kotlin JVM
Денис Чиканов
Я понимаю часть про то, как сделать, спасибо, мне хотелось бы иметь тест, который будет гоняться и (хотя бы вероятно) проверять, что это никто никогда не сломает)
Гарантированно сделать не реально без имитации. Например искусственно увеличить время между получением записи из бд и записью обновления + два запроса, посланных в тесте асинхронно
источник

VP

Vladimir Petrakovich in Kotlin JVM
Денис Чиканов
Т.е. вопрос не в том "сломается ли приложение, когда запросов много", скорее в "поведет ли приложение себя корректно при параллельной обработке запросов"
Так в обоих случаях нужно слать много параллельных запросов.
Если не хочется брать подобную тулзу, можно руками отправлять через какой-нибудь клиент, да хоть тот же ktor.
источник
2020 February 27

AE

Alexandr Emelyanov in Kotlin JVM
Vladimir Petrakovich
Так в обоих случаях нужно слать много параллельных запросов.
Если не хочется брать подобную тулзу, можно руками отправлять через какой-нибудь клиент, да хоть тот же ktor.
Почему бы не взять готовое, уже со статистикой?
источник