|
|
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevВ NIO (по крайне мере Apache HC), как раз что-то наподобие infinite loop.В асинхронных сервлетах цикл организует не приложение, а контейнер. Приложение реализует два (для цикла записи) или три (для цикла чтения) метода, а контейнер дёргает эти методы по мере надобности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 13:06 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovУже здесь вы или нагло врёте или тупо не понимаете. При ста HTTP-запросах в секунду IP-стек за минуту примет 60 тысяч подключений. Созданные 60 тысяч TCP-соединений будут существовать (при ваших исходных), как минимум, одну минуту - от подключения клиента до отправки ему последнего байта ответа. Если ваша система в состоянии держать 60 тысяч TCP-соединений - 60 тысяч потоков исполнения не будут для неё слишком тяжким испытанием. Лично я наблюдал JVM с ~15 тысячами потоков. Я сам создал эту стрессовую нагрузку и могу определённо утверждать, что ничего не зависло и всё работало. Сразу оговорюсь - активных потоков было на порядок меньше. с одной стороны: 60 TCP-соединений с другой: 60 TCP-соединений + 60 потоков Уже выигрыш. Я не представляю сколько ресурсов надо для соединения в сравнении с потоком. авторНе я сказал "внешняя система", но я могу предположить, что с этой внешней системой мы общаемся по локальной сети. Поскольку отсылки на авторитеты уже были, то и я позволю себе заметить, что IP-стек и умолчания для него делали весьма неглупые люди. Так вот, тайм-аут записи составляет три, а чтения - пять минут. Если хотя бы один запрос вашего "infinite lool" (бесконечный цикл) повиснет - весь опрос будет остановлен на несколько минут. Если, вдруг, опрос внешней системы станет чуточку медленнее (на десять миллисекунд для определённости) то с шестьюдесятью тысячами запросов (я вас за язык не тянул), потребуется лишних десять минут на очередную итерацию. Про закон подлости и "находится в последнем ящике" просто напомню. Можно, конечно, и ещё поёрничать, но, блин, рано вам оптимизацией заниматься - пишите "как можно проще, лишь бы это работало". у меня несколько потоков, разгребающих разные очереди(про этот "infinite lool" идёт речь или какой?). в моём конкретном случае система не начнёт дольше отвечать, а если начнёт, то можно машин добавить.. Вот это point я не понял у Вас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 13:25 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Я не могу общаться с людьми, которые не умеют умножать. Ни в уме, ни на калькуляторе. Могли, хотя бы, меня поправить - сто запросов в секунду в течении минуты это шесть тысяч, а не шестьдесят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 13:35 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
И вообще - меньше надо теоретизировать о ресурсоёмкости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 13:52 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЯ не могу общаться с людьми, которые не умеют умножать. Ни в уме, ни на калькуляторе. Могли, хотя бы, меня поправить - сто запросов в секунду в течении минуты это шесть тысяч, а не шестьдесят. Да мне неинтересно считать, вопрос в концепции. И так понятно, что A+B>A(у нас цифры положительные) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 14:01 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
пойти, что ли, концепции почитать ... Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 14:16 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Что это за бенчмарк? какого кода в первую очередь? Что Вы хотите им показать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 15:05 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerсмотрите, приходит нам каждую секунду 100 запросов.откуда идут? фронт/бэк? questionerпри асинхронных поток контейнера положил задачу в мапу и всё, свободен. Внешняя система получает все запросы с такой же скоростью, что и сервлет. и есть поток(ну или пул), который разгребает результаты. Всё, проблема решена. Что не так?потоки - освободили, но количество незакрытых подключений растет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 15:46 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
вот что сделано на java - о потоках/нагрузке сами судите http://www.opencms.ru/opencms/ru/about/project/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 16:19 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Все же, questioner флуд зажег знатный Сферические потоки, сферическая нагрузка, сферические тесты... О чем мы спорим? Хочет questioner делать на spring async servlets - пусть делает. Вроде УК РФ это не запрещает. Какая у него задача, железо и нагрузки ему должно быть виднее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 16:31 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Usmanquestionerсмотрите, приходит нам каждую секунду 100 запросов.откуда идут? фронт/бэк? а разница есть? просто http запрос. Usmanquestionerпри асинхронных поток контейнера положил задачу в мапу и всё, свободен. Внешняя система получает все запросы с такой же скоростью, что и сервлет. и есть поток(ну или пул), который разгребает результаты. Всё, проблема решена. Что не так?потоки - освободили, но количество незакрытых подключений растет. Согласен, но это уже улучшение. Вопрос на сколько. Мне тяжело оценить. Доказательств нет, но судя по всему держать соединение сильно дешевле, чем соединение и поток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 16:55 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questioner (a.k.a ВопрошЫтель)а разница есть? просто http запрос.Если бэк, можно переосмыслить процесс взаимодействия (и оставить sync) questioner (a.k.a ВопрошЫтель)Согласен, но это уже улучшение. Вопрос на сколько. Мне тяжело оценить. Доказательств нет, но судя по всему держать соединение сильно дешевле, чем соединение и поток.тема для другого холивара: Thread per connection vs Thread per request (: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 17:17 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Usman(a.k.a ВопрошЫтель )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 17:22 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerЧто это за бенчмарк?Там в копирайтах всё написано.какого кода в первую очередь?Стыдно не знать подпись Apache Tomcat .Что Вы хотите им показать?Прежде чем бороться с ветряными мельницами надо выглянуть из белокаменных башен. P.S. Навыки аналитической работы, что, утеряны вместе с забытым эпистолярным жанром? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 19:13 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
вадя http://www.opencms.ru/opencms/ru/about/project/ Нет там ни о нагрузках, ни о потоках. Даже если заглянуть на родной сайт - всё, что можно узнать: "протестировано с Java7/8 и Tomcat 7/8". Используются ли Servlet 3.x или WebSockets - совершенно непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 21:30 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovвадя http://www.opencms.ru/opencms/ru/about/project/ Нет там ни о нагрузках, ни о потоках. Даже если заглянуть на родной сайт - всё, что можно узнать: "протестировано с Java7/8 и Tomcat 7/8". Используются ли Servlet 3.x или WebSockets - совершенно непонятно. я о том у кого развнрнуто. можно предствить нагрузку. то что сервлет3 так это уже по умолчанию. за ws не ручаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 22:01 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
http://tootallnate.github.io/Java-WebSocket/ можно посмотреть реализацию потоков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 22:08 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
На самом деле, оптимальное решение исходного вопроса зависит от клиента. Если клиент - "более-менее браузер", то: 1. Принимаем запрос клиента, валидируем, перекидываем (асинхронному) сервису. Сразу проверяем наличие ответа и, если (вдруг) "уже готово" - возвращаем клиенту; 2. Опрос показал, что ответа ещё нет - отвечаем клиенту "временным перенаправлением" с заголовком Retry-After. 3. При повторном обращении клиента определяем идентификатор запроса и проверяем наличие ответа. Или возвращаем ответ или переходим на пункт 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 23:56 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
вадяя о том у кого развнрнуто. можно предствить нагрузку.Первые две ссылки - "сайт не существует" и "домен продаётся". P.S. И программируете точно также - выбрали что-то из кучи информационного мусора и пошли нести веру христову язычникам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 00:00 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovвадяя о том у кого развнрнуто. можно предствить нагрузку.Первые две ссылки - "сайт не существует" и "домен продаётся". P.S. И программируете точно также - выбрали что-то из кучи информационного мусора и пошли нести веру христову язычникам. то, что не существует контор, это не проблема движка. это ты в мой огород камень кинул? если да, то сам такой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 02:10 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov P.S. И программируете точно также - выбрали что-то из кучи информационного мусора и пошли нести веру христову язычникам. это что ты называешь мусором, праведник? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 02:13 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Отвечаю по пунктам. 1. Согласно документации, OpenCMS использует Servlet API 2.4/JSP 2.0. Каким боком это всё к асинхронным сервлетам - плохо понятно; 2. Если сайта не существует или он использует WordPress, то к движку OpenCMS претензий, естественно, никаких. Претензии к предоставленной ссылке и к наполнению по этой ссылке; 3. "Информационный мусор" это не метафора, а вполне реальное состояние современного интернета - слишком просто разместить произвольную информацию, слишком часто она копируется, слишком долго хранится и часто безответственно цитируется (см.п.2). Желательно и даже необходимо, чтобы компетентный человек (специалист - в особенности) умел работать с недостоверной информации. Как-то не очень наблюдается. 4. "Программируете точно так же" относилось, скорее, к автору топика. Как к очень яркому представителю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 02:31 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
вадяэто ты в мой огород камень кинул?- Ты кто такой?! - Нет, ты кто такой?! ... Паниковский понял, что сейчас его будут бить ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 02:35 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, странно, откуда они берут этот сервлет..., скорее всего, просто не обновлённая инфа. но судя по перечню, реализованы хорошо нагруженные сайты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 03:07 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Берут они оттуда, что нет прямой связи между "производительностью" сайта и техниками, которые этот сайт использует. Servlet API 3.0 это Tomcat 7.0 . До появления этого контейнера было написано много кода и "бросаться на перепись" только потому, что "можно ещё и так", как минимум - глупо. P.S. Tomcat приведён в качестве примера, т.к. согласно всё той же документация это один из основных (тестируемый) контейнер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 03:20 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39436478&tid=2122980]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 195ms |
| total: | 379ms |

| 0 / 0 |
