Информация об изменениях

Сообщение Re[9]: Лялих муст дие от 14.12.2022 13:18

Изменено 14.12.2022 13:20 vdimas

Re[9]: Лялих муст дие
Здравствуйте, Pauel, Вы писали:

P>Не знаю, что там ты мерял, мой сервис при запуске под виндой стабильно держит меньше реквестов, чем запущеный на линуксе, от 20 до 50% если пейлоад 500кб

P>Если же пейлоад около 1кб, то в виндовс в районе 1000 реквестов и дальше ну никак не лезет, в линуксе — 3000...6000

Твоё сервис на чём? На ноде? ))


P>Собственно, медицинский факт, Линукс доминирует на сервере, и по этой, и по ряду других причин.


Он доминирует из-за бесплатности.

А нода твоя кривая, я уже тебе показывал, что она работает в режиме реактора, в то время как в виндах родной режим — это режим проактора.
Конкретно нода работает не в родном режиме асинхронного IO в Windows, вот и весь ответ.

Де-факто, на том же железе Windows держит больше соединений и имеет большую пропускную способность, чем Linux.
Просто надо использовать IOCP ровно так, как он и задумывался — получать в колбэке не сигналы о доступности данных в сокете (как оно есть в Linux), а уже полученные в поданном буфере данные.

Аналогично в новом АПИ RIO, быстрее пока мест ничего не придумали.
Re[9]: Лялих муст дие
Здравствуйте, Pauel, Вы писали:

P>Не знаю, что там ты мерял, мой сервис при запуске под виндой стабильно держит меньше реквестов, чем запущеный на линуксе, от 20 до 50% если пейлоад 500кб

P>Если же пейлоад около 1кб, то в виндовс в районе 1000 реквестов и дальше ну никак не лезет, в линуксе — 3000...6000

Твоё сервис на чём? На ноде? ))


P>Собственно, медицинский факт, Линукс доминирует на сервере, и по этой, и по ряду других причин.


Он доминирует из-за бесплатности.

А нода твоя кривая, я уже тебе показывал, что она работает в режиме реактора, в то время как в виндах родной режим — это режим проактора.
Конкретно нода работает не в родном режиме асинхронного IO в Windows, вот и весь ответ.

Де-факто, на том же железе Windows держит больше соединений и имеет большую пропускную способность, чем Linux.
Просто надо использовать IOCP ровно так, как он и задумывался — получать в колбэке не сигналы о доступности данных в сокете (как оно есть в Linux), а уже полученные в поданном буфере данные.

Аналогично в новом АПИ RIO, быстрее пока мест ничего не придумали.

Никто не мешает портировать ноду в Windows глубже, кстате.
Похоже, они ограничились самым поверхностным портированием, эмулировав на Windows механику Linux, бгг...