gRPC / rest запросы. Че за нах?
-
- Уже с Приветом
- Posts: 17140
- Joined: 01 Mar 2008 15:14
gRPC / rest запросы. Че за нах?
У меня сайтик разменял уже второй десяток, после взлома решил уж переписать все под современные фреймоврки.
Крутился еще на asp.net MVC5 переписал под свежий .net core 7
Заодно уж решил по модному сборщик данные из десктопного приложение с WCF переписать под микровервис. И походу эта хрень не взлетела! Локально все работает отлично, на продакшине - запросы приходят через 2-3-5-7 секунд. Потом все вообще валится. Хотя не такие уж и активные запросы то.
Сейчас другой сервис все отлично обрабатывает из тех же запросов с той же частотой к базе, а этот микросервис должен кеш отдавать. Медленно приходит именно запрос к сервису, сам код там простой и работает очень быстро.
Я очень слабо представляю как работают очереди запросов и все такое, думаю дай попробую на новомодный gRPC - там запрос стабильно отрабатывает 2 секунды - правда первый, дальше по 10 мс.
Но 2 секунды там на каждое создание канала! Не держать же его всегда открытым.
Че за нах вообще? Древний WCF отдавал все в XML и горя не знал, все из коробки работало. А тут непонятные пляски с бубном нужны
Крутился еще на asp.net MVC5 переписал под свежий .net core 7
Заодно уж решил по модному сборщик данные из десктопного приложение с WCF переписать под микровервис. И походу эта хрень не взлетела! Локально все работает отлично, на продакшине - запросы приходят через 2-3-5-7 секунд. Потом все вообще валится. Хотя не такие уж и активные запросы то.
Сейчас другой сервис все отлично обрабатывает из тех же запросов с той же частотой к базе, а этот микросервис должен кеш отдавать. Медленно приходит именно запрос к сервису, сам код там простой и работает очень быстро.
Я очень слабо представляю как работают очереди запросов и все такое, думаю дай попробую на новомодный gRPC - там запрос стабильно отрабатывает 2 секунды - правда первый, дальше по 10 мс.
Но 2 секунды там на каждое создание канала! Не держать же его всегда открытым.
Че за нах вообще? Древний WCF отдавал все в XML и горя не знал, все из коробки работало. А тут непонятные пляски с бубном нужны
-
- Уже с Приветом
- Posts: 1406
- Joined: 28 Nov 2008 17:50
Re: gRPC / rest запросы. Че за нах?
Недавно видел интересный батл, в итоге выяснилось что .net тормоз
https://dusted.codes/how-fast-is-really-aspnet-core
Но все же тысячи реквестов в секунду держит. Что такое у вас канал, коннект к базе?
https://dusted.codes/how-fast-is-really-aspnet-core
Но все же тысячи реквестов в секунду держит. Что такое у вас канал, коннект к базе?
-
- Уже с Приветом
- Posts: 5974
- Joined: 24 Feb 2012 19:09
- Location: MO->MD
Re: gRPC / rest запросы. Че за нах?
Подключите бесплатный app insights, отмониторьте запросы. Где-то оно затыкается. Дотнет очень быстрый. Могу предположить, что DI неправильно настроен, и он на каждом запросе создаёт пул подключений к БД.OtherSide wrote: ↑25 Mar 2023 16:09 У меня сайтик разменял уже второй десяток, после взлома решил уж переписать все под современные фреймоврки.
Крутился еще на asp.net MVC5 переписал под свежий .net core 7
Заодно уж решил по модному сборщик данные из десктопного приложение с WCF переписать под микровервис. И походу эта хрень не взлетела! Локально все работает отлично, на продакшине - запросы приходят через 2-3-5-7 секунд. Потом все вообще валится. Хотя не такие уж и активные запросы то.
Сейчас другой сервис все отлично обрабатывает из тех же запросов с той же частотой к базе, а этот микросервис должен кеш отдавать. Медленно приходит именно запрос к сервису, сам код там простой и работает очень быстро.
Я очень слабо представляю как работают очереди запросов и все такое, думаю дай попробую на новомодный gRPC - там запрос стабильно отрабатывает 2 секунды - правда первый, дальше по 10 мс.
Но 2 секунды там на каждое создание канала! Не держать же его всегда открытым.
Че за нах вообще? Древний WCF отдавал все в XML и горя не знал, все из коробки работало. А тут непонятные пляски с бубном нужны
-
- Уже с Приветом
- Posts: 17140
- Joined: 01 Mar 2008 15:14
Re: gRPC / rest запросы. Че за нах?
Ошибка оказалось до смешного тупая. При портировании забыл прописать хеш функцию и там дикшинари из которого шел пул запросов разростался в геометрической прогрессии. .net core не причем.
Но все равно не снимается вопрос про grpc - тестировал hello world Из туториала - 2.3 секунды первый запрос!
Но все равно не снимается вопрос про grpc - тестировал hello world Из туториала - 2.3 секунды первый запрос!
-
- Уже с Приветом
- Posts: 5974
- Joined: 24 Feb 2012 19:09
- Location: MO->MD
-
- Уже с Приветом
- Posts: 17140
- Joined: 01 Mar 2008 15:14
Re: gRPC / rest запросы. Че за нах?
-
- Уже с Приветом
- Posts: 5974
- Joined: 24 Feb 2012 19:09
- Location: MO->MD
Re: gRPC / rest запросы. Че за нах?
Аппа будет стартовать при первом вызове heartbeat, а потом находиться в активном состоянии. Т.е., всё уже будет проинициализировано.
-
- Уже с Приветом
- Posts: 17140
- Joined: 01 Mar 2008 15:14
Re: gRPC / rest запросы. Че за нах?
Ну это получается только синглтон можно использовать, скоупы - нет
-
- Уже с Приветом
- Posts: 5974
- Joined: 24 Feb 2012 19:09
- Location: MO->MD
-
- Уже с Приветом
- Posts: 17140
- Joined: 01 Mar 2008 15:14
Re: gRPC / rest запросы. Че за нах?
Там и каждый отдельный вызов замрял - ну не так уж и быстро. Даммии заглушка выполнялась за 10-30 миллисекунд. На топовом железе. Не мгновенно как бы. По моему это вообще не быстрее обычных рест запросов.
В общем показаолось что эта штука еще очень сильно сырая, плюс весь этот гемор с генерацией файлов и использованием proto файлов - решил пока не для моих задач
В общем показаолось что эта штука еще очень сильно сырая, плюс весь этот гемор с генерацией файлов и использованием proto файлов - решил пока не для моих задач
-
- Уже с Приветом
- Posts: 5974
- Joined: 24 Feb 2012 19:09
- Location: MO->MD
Re: gRPC / rest запросы. Че за нах?
А можно поинтересоваться, что за виртуалка?OtherSide wrote: ↑26 Mar 2023 21:34 Там и каждый отдельный вызов замрял - ну не так уж и быстро. Даммии заглушка выполнялась за 10-30 миллисекунд. На топовом железе. Не мгновенно как бы. По моему это вообще не быстрее обычных рест запросов.
В общем показаолось что эта штука еще очень сильно сырая, плюс весь этот гемор с генерацией файлов и использованием proto файлов - решил пока не для моих задач
Просто, по идее, даже если это идет дамми запрос, то он проходит полный пайплайн дотнет кора (как и любой другой технологии), и на тощем железе оно в любом случае будет работать не молниеносно. Можете проверить на тех же java или nodejs. Быстрый отклик будет разве что у CGI, и то не факт, т.к. у провайдера услуг могут быть свои middleware, которые хавают время выполнения.
-
- Уже с Приветом
- Posts: 17140
- Joined: 01 Mar 2008 15:14
Re: gRPC / rest запросы. Че за нах?
Не виртуалка. Ryzen 7700x
-
- Уже с Приветом
- Posts: 5974
- Joined: 24 Feb 2012 19:09
- Location: MO->MD
-
- Уже с Приветом
- Posts: 17140
- Joined: 01 Mar 2008 15:14
Re: gRPC / rest запросы. Че за нах?
Я же говорю это и был пустой проект - туториал
-
- Уже с Приветом
- Posts: 5974
- Joined: 24 Feb 2012 19:09
- Location: MO->MD
Re: gRPC / rest запросы. Че за нах?
-
- Уже с Приветом
- Posts: 17140
- Joined: 01 Mar 2008 15:14
Re: gRPC / rest запросы. Че за нах?
в дебаггере в цикле 100 запросов делал. По скорости как get запросы получилось
-
- Уже с Приветом
- Posts: 5974
- Joined: 24 Feb 2012 19:09
- Location: MO->MD