powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Сервер на 10к коннектов
25 сообщений из 32, страница 1 из 2
Сервер на 10к коннектов
    #37884690
prostohz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, форумчане!
В рамках тестового задания встала проблема реализации highload-кэш-сервера(от 10к долгоживущих соединений) с большим количеством запросов(40к/ceк). А проблема собственно в том, как бы это все правильно реализовать. Не создавать же 10к потоков?
Спасибо!
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37884823
drsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prostohz, пробуй это https://netty.io/
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37884880
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для 10K простых решений не существует. Спросите у гугла про C10K problem.
Нужно проанализировать требования и погонять прототипы на нагрузочных тестах.
10K потоков с небольшим стеком (Linux NPTL), могут оказаться быстрее чем NIO, например. Тем более если соединения долгоживущие.

Если спросите у гугла про C10K в Java, то найдёте много рецептов на что нужно обратить внимание в первую очередь.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37884917
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что значит "долгоживущих"? Долго выполняются?
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37884970
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошее тестовое задание.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885031
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Извините, почему не существует простых решений? Netty - простое решение. 10К оно решает.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885040
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prostohz,

Думаю, стоит обратить внимание именно на Netty. А именно использование вебсокетов.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885051
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большой Синий КитИзвините, почему не существует простых решений? Netty - простое решение. 10К оно решает.
Если сервер больше ничего не делает, кроме как клиентов подключает, то "да". Решает. Но, обычно, сервер ещё много чем занят.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885101
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczБольшой Синий КитИзвините, почему не существует простых решений? Netty - простое решение. 10К оно решает.
Если сервер больше ничего не делает, кроме как клиентов подключает, то "да". Решает. Но, обычно, сервер ещё много чем занят.

Но Вы же станете спорить, что если сервер делает что-то еще, кроме как подключение клиентов, 40К в секунду на одной машине не добиться. Просто потому, что само это "что-то делание" может занимать более 1 секунды :)
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885105
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большой Синий КитДумаю, стоит обратить внимание именно на Netty. А именно использование вебсокетов.
Почему "вебсокетов"?
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885116
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В случае с вебсокетами, сервер нетти подключает клиента. В дальнейшем получает запрос - отправляет ответ.
Я делал что-то вроде шттп прокси на нетти.
Цепочка:
http запрос --> сервер нетти --> клиент-нетти --> HttpServer
выдавала мне throghput ~ 800 в секунду при 1100 потоках
И клиент, и сервер, и httpserver находились на одной машине.

При этом клиент декодировал ChannelBuffer в HttpRequest и преобразовывал хедеры.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885120
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Потому что это очень удобно. Полнодуплексная связь, канал все время открыт, данные пересылать можно в бинарном виде. Авторизация в конце концов тут же.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885122
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большой Синий КитBlazkowiczпропущено...

Если сервер больше ничего не делает, кроме как клиентов подключает, то "да". Решает. Но, обычно, сервер ещё много чем занят.

Но Вы же станете спорить, что если сервер делает что-то еще, кроме как подключение клиентов, 40К в секунду на одной машине не добиться. Просто потому, что само это "что-то делание" может занимать более 1 секунды :)

есть потоки, seda всякие...
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885123
tumblerrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большой Синий КитBlazkowicz,

Потому что это очень удобно. Полнодуплексная связь, канал все время открыт, данные пересылать можно в бинарном виде. Авторизация в конце концов тут же.

Т.е. вы хотите сказать, что у обычных сокетов всего этого нет? ))
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885128
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tumblerrr,

Почему нет. Есть конечно. Просто использовать вебсокеты удобнее, на мой взгляд.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885129
tumblerrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczДля 10K простых решений не существует. Спросите у гугла про C10K problem.
Нужно проанализировать требования и погонять прототипы на нагрузочных тестах.
10K потоков с небольшим стеком (Linux NPTL), могут оказаться быстрее чем NIO, например. Тем более если соединения долгоживущие.

Если спросите у гугла про C10K в Java, то найдёте много рецептов на что нужно обратить внимание в первую очередь.

Это уже давно не проблема... в лохматых годах это было проблемой...
Щас все больше слышу по C100K и C500K problem )))
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885139
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penkov VladimirБольшой Синий Китпропущено...


Но Вы же станете спорить, что если сервер делает что-то еще, кроме как подключение клиентов, 40К в секунду на одной машине не добиться. Просто потому, что само это "что-то делание" может занимать более 1 секунды :)

есть потоки, seda всякие...

Новый поток, который что-то выполняет на каждый запрос? Это не подходит. Ограниченное количество потоков, которые выполняют вброшенные задания - тоже можно упереться в более 1 секунду.
Seda - возможно.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885198
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большой Синий КитSeda - возможно.

даже более чем возможно. 10к в сек - это детский сад для седы
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885200
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penkov Vladimir,

Я понимаю, просто интерпретировал это решение на 1 машину.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885204
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. На одной машине, возможно, и seda не спасет. Все зависит от того, что нужно делать на сервере.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885464
zeehond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можно полюбопытствовать, чё вы всё про эту seda так увлечённо затираете?
это же ведь не продукт
а просто диссертация с каким-то прототипом из начала 200х годов

годный highload-кэш-сервер это, например, Varnish
ну или nginx с proxy плагином, там попроще всё
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885573
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне на этом форуме пару дней назад посоветовали
Erlang - специально для таких случаев было сделано.
Сам еще не тестировал, но тема интересная.

И вот еще: C10k
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885579
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeehondа можно полюбопытствовать, чё вы всё про эту seda так увлечённо затираете?
это же ведь не продукт
а просто диссертация с каким-то прототипом из начала 200х годов


у нас эта дисертация 20к событий в секунду (со сложной логикой, хождением в hbase итп) работает как часы и не напрягается
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885612
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ART-CODEМне на этом форуме пару дней назад посоветовали
Erlang - специально для таких случаев было сделано.
Сам еще не тестировал, но тема интересная.
И вот еще: C10k
Хабр только сюда приплетать не нужно. Там качество материала не выдерживает никакой критики.
Там какой-то непонятый webbit выступает за всю Java. Круто.
...
Рейтинг: 0 / 0
Сервер на 10к коннектов
    #37885618
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penkov Vladimirу нас эта дисертация 20к событий в секунду (со сложной логикой, хождением в hbase итп) работает как часы и не напрягается
Есть мнение что на современных ОС и железе выигрышь от асинхронности минимален. Тысячи потоков справляются с аналогичной задачей не хуже. При этом логика более линейная, соответственно проще. Только потребление памяти поболе.
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Сервер на 10к коннектов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]