powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring async servlets support
25 сообщений из 98, страница 3 из 4
Spring async servlets support
    #39436456
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevВ NIO (по крайне мере Apache HC), как раз что-то наподобие infinite loop.В асинхронных сервлетах цикл организует не приложение, а контейнер. Приложение реализует два (для цикла записи) или три (для цикла чтения) метода, а контейнер дёргает эти методы по мере надобности.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436478
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovУже здесь вы или нагло врёте или тупо не понимаете.
При ста HTTP-запросах в секунду IP-стек за минуту примет 60 тысяч подключений. Созданные 60 тысяч TCP-соединений будут существовать (при ваших исходных), как минимум, одну минуту - от подключения клиента до отправки ему последнего байта ответа.
Если ваша система в состоянии держать 60 тысяч TCP-соединений - 60 тысяч потоков исполнения не будут для неё слишком тяжким испытанием.
Лично я наблюдал JVM с ~15 тысячами потоков. Я сам создал эту стрессовую нагрузку и могу определённо утверждать, что ничего не зависло и всё работало. Сразу оговорюсь - активных потоков было на порядок меньше.

с одной стороны:
60 TCP-соединений
с другой:
60 TCP-соединений + 60 потоков

Уже выигрыш.

Я не представляю сколько ресурсов надо для соединения в сравнении с потоком.
авторНе я сказал "внешняя система", но я могу предположить, что с этой внешней системой мы общаемся по локальной сети.
Поскольку отсылки на авторитеты уже были, то и я позволю себе заметить, что IP-стек и умолчания для него делали весьма неглупые люди.
Так вот, тайм-аут записи составляет три, а чтения - пять минут. Если хотя бы один запрос вашего "infinite lool" (бесконечный цикл) повиснет - весь опрос будет остановлен на несколько минут.
Если, вдруг, опрос внешней системы станет чуточку медленнее (на десять миллисекунд для определённости) то с шестьюдесятью тысячами запросов (я вас за язык не тянул), потребуется лишних десять минут на очередную итерацию. Про закон подлости и "находится в последнем ящике" просто напомню.
Можно, конечно, и ещё поёрничать, но, блин, рано вам оптимизацией заниматься - пишите "как можно проще, лишь бы это работало".

у меня несколько потоков, разгребающих разные очереди(про этот "infinite lool" идёт речь или какой?). в моём конкретном случае система не начнёт дольше отвечать, а если начнёт, то можно машин добавить.. Вот это point я не понял у Вас.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436487
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не могу общаться с людьми, которые не умеют умножать. Ни в уме, ни на калькуляторе.
Могли, хотя бы, меня поправить - сто запросов в секунду в течении минуты это шесть тысяч, а не шестьдесят.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436511
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще - меньше надо теоретизировать о ресурсоёмкости.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436517
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovЯ не могу общаться с людьми, которые не умеют умножать. Ни в уме, ни на калькуляторе.
Могли, хотя бы, меня поправить - сто запросов в секунду в течении минуты это шесть тысяч, а не шестьдесят.

Да мне неинтересно считать, вопрос в концепции.
И так понятно, что A+B>A(у нас цифры положительные)
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436530
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пойти, что ли, концепции почитать ...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
This is ApacheBench, Version 2.3 <$Revision: 1757674 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,  http://www.zeustech.net/ 
Licensed to The Apache Software Foundation,  http://www.apache.org/ 

Benchmarking 127.0.0.1 (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        Apache-Coyote/1.1
Server Hostname:        127.0.0.1
Server Port:            80

Document Path:          /
Document Length:        11432 bytes

 Concurrency Level:      8000 
Time taken for tests:   81.744 seconds
Complete requests:       100000 
Failed requests:        1
   (Connect: 1, Receive: 0, Length: 0, Exceptions: 0)
Total transferred:      1157300000 bytes
HTML transferred:       1143200000 bytes
Requests per second:    1223.33 [#/sec] (mean)
Time per request:       6539.531 [ms] (mean)
Time per request:       0.817 [ms] (mean, across all concurrent requests)
Transfer rate:          13825.77 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0  12.0      0    1092
Processing:  1966 6423 1293.5   6443    9984
Waiting:      983 3741 1247.5   3604    7363
Total:       1966 6423 1293.5   6443    9984

Percentage of the requests served within a certain time (ms)
  50%   6443
  66%   7036
  75%   7316
  80%   7488
  90%   8050
  95%   8486
  98%   8970
  99%   9251
 100%   9984 (longest request)
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436571
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

Что это за бенчмарк?

какого кода в первую очередь?

Что Вы хотите им показать?
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436602
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerсмотрите, приходит нам каждую секунду 100 запросов.откуда идут? фронт/бэк?
questionerпри асинхронных

поток контейнера положил задачу в мапу и всё, свободен. Внешняя система получает все запросы с такой же скоростью, что и сервлет.

и есть поток(ну или пул), который разгребает результаты.

Всё, проблема решена.

Что не так?потоки - освободили, но количество незакрытых подключений растет.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436635
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот что сделано
на java - о потоках/нагрузке сами судите
http://www.opencms.ru/opencms/ru/about/project/
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436644
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все же, questioner флуд зажег знатный

Сферические потоки, сферическая нагрузка, сферические тесты... О чем мы спорим?

Хочет questioner делать на spring async servlets - пусть делает. Вроде УК РФ это не запрещает. Какая у него задача, железо и нагрузки ему должно быть виднее
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436656
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Usmanquestionerсмотрите, приходит нам каждую секунду 100 запросов.откуда идут? фронт/бэк?

а разница есть? просто http запрос.
Usmanquestionerпри асинхронных

поток контейнера положил задачу в мапу и всё, свободен. Внешняя система получает все запросы с такой же скоростью, что и сервлет.

и есть поток(ну или пул), который разгребает результаты.

Всё, проблема решена.

Что не так?потоки - освободили, но количество незакрытых подключений растет.

Согласен, но это уже улучшение. Вопрос на сколько. Мне тяжело оценить.
Доказательств нет, но судя по всему держать соединение сильно дешевле, чем соединение и поток.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436674
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner         (a.k.a ВопрошЫтель)а разница есть? просто http запрос.Если бэк, можно переосмыслить процесс взаимодействия (и оставить sync)
questioner         (a.k.a ВопрошЫтель)Согласен, но это уже улучшение. Вопрос на сколько. Мне тяжело оценить.
Доказательств нет, но судя по всему держать соединение сильно дешевле, чем соединение и поток.тема для другого холивара: Thread per connection vs Thread per request (:
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436681
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman(a.k.a ВопрошЫтель
))
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436767
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerЧто это за бенчмарк?Там в копирайтах всё написано.какого кода в первую очередь?Стыдно не знать подпись Apache Tomcat .Что Вы хотите им показать?Прежде чем бороться с ветряными мельницами надо выглянуть из белокаменных башен.

P.S. Навыки аналитической работы, что, утеряны вместе с забытым эпистолярным жанром?
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436828
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя http://www.opencms.ru/opencms/ru/about/project/ Нет там ни о нагрузках, ни о потоках.
Даже если заглянуть на родной сайт - всё, что можно узнать: "протестировано с Java7/8 и Tomcat 7/8".
Используются ли Servlet 3.x или WebSockets - совершенно непонятно.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436847
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovвадя http://www.opencms.ru/opencms/ru/about/project/ Нет там ни о нагрузках, ни о потоках.
Даже если заглянуть на родной сайт - всё, что можно узнать: "протестировано с Java7/8 и Tomcat 7/8".
Используются ли Servlet 3.x или WebSockets - совершенно непонятно.
я о том у кого развнрнуто. можно предствить нагрузку.
то что сервлет3 так это уже по умолчанию.
за ws не ручаюсь.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436853
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://tootallnate.github.io/Java-WebSocket/
можно посмотреть реализацию потоков
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436893
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле, оптимальное решение исходного вопроса зависит от клиента. Если клиент - "более-менее браузер", то:
1. Принимаем запрос клиента, валидируем, перекидываем (асинхронному) сервису. Сразу проверяем наличие ответа и, если (вдруг) "уже готово" - возвращаем клиенту;
2. Опрос показал, что ответа ещё нет - отвечаем клиенту "временным перенаправлением" с заголовком Retry-After.
3. При повторном обращении клиента определяем идентификатор запроса и проверяем наличие ответа. Или возвращаем ответ или переходим на пункт 2.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436895
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяя о том у кого развнрнуто. можно предствить нагрузку.Первые две ссылки - "сайт не существует" и "домен продаётся".

P.S. И программируете точно также - выбрали что-то из кучи информационного мусора и пошли нести веру христову язычникам.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436928
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovвадяя о том у кого развнрнуто. можно предствить нагрузку.Первые две ссылки - "сайт не существует" и "домен продаётся".

P.S. И программируете точно также - выбрали что-то из кучи информационного мусора и пошли нести веру христову язычникам.
то, что не существует контор, это не проблема движка.
это ты в мой огород камень кинул?
если да, то сам такой.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436929
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
P.S. И программируете точно также - выбрали что-то из кучи информационного мусора и пошли нести веру христову язычникам.
это что ты называешь мусором, праведник?
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436932
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отвечаю по пунктам.
1. Согласно документации, OpenCMS использует Servlet API 2.4/JSP 2.0. Каким боком это всё к асинхронным сервлетам - плохо понятно;

2. Если сайта не существует или он использует WordPress, то к движку OpenCMS претензий, естественно, никаких. Претензии к предоставленной ссылке и к наполнению по этой ссылке;

3. "Информационный мусор" это не метафора, а вполне реальное состояние современного интернета - слишком просто разместить произвольную информацию, слишком часто она копируется, слишком долго хранится и часто безответственно цитируется (см.п.2).
Желательно и даже необходимо, чтобы компетентный человек (специалист - в особенности) умел работать с недостоверной информации.
Как-то не очень наблюдается.

4. "Программируете точно так же" относилось, скорее, к автору топика. Как к очень яркому представителю.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436933
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяэто ты в мой огород камень кинул?- Ты кто такой?!
- Нет, ты кто такой?!
... Паниковский понял, что сейчас его будут бить ...
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436938
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
странно, откуда они берут этот сервлет...,
скорее всего, просто не обновлённая инфа.
но судя по перечню, реализованы хорошо нагруженные сайты.
...
Рейтинг: 0 / 0
Spring async servlets support
    #39436939
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Берут они оттуда, что нет прямой связи между "производительностью" сайта и техниками, которые этот сайт использует.
Servlet API 3.0 это Tomcat 7.0 . До появления этого контейнера было написано много кода и "бросаться на перепись" только потому, что "можно ещё и так", как минимум - глупо.

P.S. Tomcat приведён в качестве примера, т.к. согласно всё той же документация это один из основных (тестируемый) контейнер.
...
Рейтинг: 0 / 0
25 сообщений из 98, страница 3 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring async servlets support
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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