Вторая бета — быстрее на загрузке и скачивании, ниже пинг под нагрузкой
Вышел второй бета-релиз v1.0.0-beta.2. Полный список изменений — в журнале изменений.
Сравнение четырёх серверов (#126)
Citrus, Xray v26.10.17, sing-box v1.14.3 и mihomo v1.19.32 замерены как серверы на одном хосте, восемь протоколов, одинаковые клиенты для всех. Итоги:
- Citrus впереди на загрузке: REALITY в 32 потока на 52% быстрее лучшего из остальных, в один поток загрузка REALITY и SS2022 быстрее на 40–49%.
- У Citrus меньше всего памяти на простаивающий туннель на большинстве протоколов.
- sing-box впереди на AnyTLS, на новых соединениях TUIC и на скачивании SS2022.
- Xray впереди на загрузке Trojan и SS2022 в 32 потока.
Эти цифры сняты до изменений, описанных ниже. Методика, оговорки и все таблицы — в test/bench/compare/results/2026-10-18-four-cores/RESULTS.md в репозитории.
Что вошло после сравнения
- Скачивание (#124). Чтение по 64 КиБ, TLS-записи уходят в сокет вместе (в форках getmikan/tls и getmikan/utls). В 32 потока, по данным стенда: REALITY 2802 → 4235 МБ/с, Trojan 2737 → 3936, SS2022 3895 → 4392.
- Пинг под нагрузкой (#131). Эхо рядом с восемью закачками: 55–63 → 20 мс. Для сравнения: у Xray около 77 мс, у sing-box на SS2022 около 47.
- Память простаивающего туннеля (#129). Trojan −36% (37,7 КиБ, меньше, чем у sing-box с 43,6), AnyTLS −18%, REALITY −12%.
- QUIC (#125). Отставание от sing-box на новых потоках сократилось с 10–12% до 4–6%.
Ещё до сравнения в dev были пакетная запись при загрузке (#119) и меньше аллокаций на новое соединение (#118); они в цифры сравнения уже входят.
Исправления
- TUIC:
CONNECTс доменом длиной 255 байт больше не роняет сервер до авторизации (#125). - smux заменён форком getmikan/smux: после ошибки буфер вызывающего больше не отправляется (#123).
- Лимиты: гонка при закрытии пользователя сверх квоты больше не трогает его новые соединения (#116).
CI
Известное
Сервер TUIC принимает не больше 2048 потоков на одно QUIC-соединение. Клиент, который открывает больше и не ждёт разрешения на новые потоки (так делает клиент sing-box), получает ошибки на лишних.
Дальше
К следующей бете — переработка AnyTLS (#130). Остальное — на странице Дорожная карта.
