|
|
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Задача cледующая: Есть сервлет(он же контроллер в спринге) внутри него пишется Код: java 1. То есть отправили сообщение в некую систему. id нужен для идентификации ответа. система внешняя отвечает асинхронно. то есть в другом потоке есть infinite lool внутри которого выполняется Код: java 1. 2. тут мы можем сматчить запрос и ответ. Как это сделать в спринге? в сервлетах насколько я понял можно просто asyncContext закидывать в мапу и когда ответ пришёл - вытаскивать из мапы и обрабатывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2017, 14:12 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Опять не понимаю - зачем отдельный поток и асинхронность, если до получения ответа от внешней системы вам всё равно нечего делать? Что мешает ждать ответа в основном потоке запроса??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2017, 20:11 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovОпять не понимаю - зачем отдельный поток и асинхронность, если до получения ответа от внешней системы вам всё равно нечего делать? Что мешает ждать ответа в основном потоке запроса??? Таких запросов может быть много. Асинхронность это данность. Так устроена внешняя система. Хотите сказать, что асинхронные сервлеты не нужны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2017, 01:41 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerтут мы можем сматчить запрос и ответ. Как это сделать в спринге? в сервлетах насколько я понял можно просто asyncContext закидывать в мапу и когда ответ пришёл - вытаскивать из мапы и обрабатывать. Почитайте про Spring-integration... может поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2017, 08:16 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerТаких запросов может быть много.Ясен перец, что их будет много. Сколько клиенты навялят - столько и будь. Вас это каким боком касается, если не вы пишите контейнер, в котором работает ваше приложение.Асинхронность это данность. Так устроена внешняя система.И? В каком месте возникла необходимость отдельного потока, если вам всё равно ждать ответ внешней системы?Хотите сказать, что асинхронные сервлеты не нужны?Не все нужные вещи надо пихать затычками в разные неподходящие места. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2017, 19:15 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВ каком месте возникла необходимость отдельного потока, если вам всё равно ждать ответ внешней системы? Синхронные сервлеты: Пускай конетйнер даёт 200 потоков а нам пришло сразу 500. итого 200 потоков успешно отослали запрос во внешнюю систему висят. 300 потоков висят, ждут места в тредпуле. асинхронные сервлеты: приняли запрос от системы, положили в мапу, поток свободен. с другой стороны имеем 1 поток, который разгребают асинхронные ответы и отвечают клиентам(пишут в респонс через асинк контекст) Таким образом все 500 потоков сразу отослали запрос во внешнюю систему. Мне кажется разница очевидна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2017, 11:11 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
"Сын церкви прекращает спор" (ц) Э.Л.Войнич, "Овод". Про предположение, которое мать всех провалов - уже оскомину набило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2017, 11:20 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
А конечно все понимаю, но вроде если тему данного топика забить в гугле, ответ находится за 2-3 мин. Например http://spring.io/blog/2012/05/07/spring-mvc-3-2-preview-introducing-servlet-3-async-support Вроде совершенно нормальным английским языком по белому (прошу извинение у тех, у кого другая цветовая палитра в ОС) написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2017, 11:44 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov"Сын церкви прекращает спор" (ц) Э.Л.Войнич, "Овод". Про предположение, которое мать всех провалов - уже оскомину набило. Неконструктивно, я ведь написал вам разницу от и до. С чем Вы конкретно не согласны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2017, 12:11 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, спасибо, я кучу раз был на этой линке, но не видел её. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2017, 12:12 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerспасибо, я кучу раз был на этой линке, но не видел её. Спасибо за ответ. Не поверишь, я тоже при чтение это не заметил ))) Но я между строк читал, т.к. Spring'а не знаю / не использовал. Зато в разделе Motivation в статье все по полочкам разложено, зачем и почему асинх. сервлеты нужны. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2017, 12:23 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Кстати из той же ссылки http://spring.io/blog/2012/05/07/spring-mvc-3-2-preview-introducing-servlet-3-async-support In other cases, where the result is required, we need to decouple processing from the Servlet container thread or else we'll exhaust its thread pool. Servlet 3 provides just such support where a Servlet (or a Spring MVC controller) can indicate the response should be left open after the Servlet container thread is exited. То, что я написал, только на буржуйском ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2017, 14:03 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questioner, в прошлой теме вроде разобрали, что в веб проектах транзакции короткие 0,1 сек. И тормозить сервлет каким то кодом странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2017, 14:20 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questioner, если вы в прошлой теме не написали ни строки кода: Зачем нужны фичи servlet 3.0/3.1 ? то зачем начинать новую со спрингом? Ведь всё что может спринг, можно решить и без него. Это просто "клей", как тут говорят профи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2017, 14:50 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro123questioner, в прошлой теме вроде разобрали, что в веб проектах транзакции короткие 0,1 сек. И тормозить сервлет каким то кодом странно. Авторитетно мнение, конечно, у всех прям 0.1 А у меня вот 1 минута и это даже не транзакция. а тема новая потому, что вопрос более конкретный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2017, 17:28 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerАвторитетно мнение, конечно, у всех прям 0.1 выделяю для тебя ключевое слово. Чтобы не отвлекался. автор в веб проектах транзакции короткие 0,1 сек. автора тема новая потому, что вопрос более конкретный. questionerА у меня вот 1 минута и это даже не транзакция. Предложение решить эту тему в Вашей прошлой теме. А потом уже в спринге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2017, 18:19 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro123выделяю для тебя ключевое слово. Чтобы не отвлекался. автор в веб проектах транзакции короткие 0,1 сек. А меня веб проект. В любом случае в ответ на вопрос говорить, что забей, тебе это не надо как-то глупо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 16:35 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerС чем Вы конкретно не согласны?Это не укладывается в вашу картинку мира и поэтому недоступно вашему разумению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 20:28 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerВ любом случае в ответ на вопрос говорить, что забей, тебе это не надо как-то глупо. я не сказал глупо. Я сказал что тебе дали ссылку на демку чата на асинхронных сервлетах. Ты ноль реакции и завёл новую тему опять про бла бла бла. Т.е. тебе не нужно решение задачи. Только удовлетворение своих мыслей про потоки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 21:40 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questioner, Ведь на самом деле всё просто. Если проект высоконагружен, то делают максимальный параметр количества потоков maxThreads=300 Потом увеличивать бесполезно. Просто добавляют ещё томкат)). Это проекты _Веб_ у которых по 3000 запросов в сек. Ты полез в какой то спринг. Зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 21:55 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questioner, Ещё один пример. Есть высоконагруженный проект. Самое медленное звено - запросы к базе. Что будет делать questioner? Будет перетирать 2 ветки про потоки и добавлять потоки. Что делают 99,9 остальных процентов? Добавляют кеш один, два или три. И ответ БД будет моментальным. ... Это закон веб проектов - минимальные транзакции для горизонтального масштабирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 22:09 |
|
||
|
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. результаты Код: 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. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 22:12 |
|
||
|
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. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 22:45 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro123questioner, Ещё один пример. Есть высоконагруженный проект. Самое медленное звено - запросы к базе. Что будет делать questioner? Будет перетирать 2 ветки про потоки и добавлять потоки. Что делают 99,9 остальных процентов? Добавляют кеш один, два или три. И ответ БД будет моментальным. ... Это закон веб проектов - минимальные транзакции для горизонтального масштабирования. У меня нет БД. Зачем Вы мне всё это пишете? я спросил про одно, Вы отвечаете мне на другой вопрос? У меня асинхронный сервис, который является кластером. При асинхронных сервлетах поток работает меньше. Один человек только в тему ответил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 22:59 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
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. результаты Код: 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. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. Что это за бенчмарк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 23:01 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerУ меня нет БД. Зачем Вы мне всё это пишете? вы программист? Тогда аналогия должна быть понятна. questionerВы отвечаете мне на другой вопрос? я спросил вас; "Вы прошлую тему закрыли?". Т.к. принято темы закрывать. questionerОдин человек только в тему ответил. Ещё он говорил, что "вам не понять". С выводами у вас проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 23:55 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerУ меня асинхронный сервис, который является кластером. При асинхронных сервлетах поток работает меньше. странный набор слов. Покажите. Где он? Может веб-сервис? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 00:00 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questioner\При асинхронных сервлетах поток работает меньше. Если выполняемая работа одна и та же, то почему "работает меньше" ? На практике, NIO на 5-10% медленнее, чем классический режим. Т.к. на практике, обработка усложняется, возникают дополнительные обмены/синхронизации между потоками и так далее. НО, опять таки, при NIO потоков может быть на порядки меньше. Если у Вас есть ПРОБЛЕМА с КОЛИЧЕСТВОМ потоков - то NIO может помочь. Если же такой проблемы нет, "то гладиолус" и '"фиолетово". И, даже, как на первый взгляд не парадоксально звучит, медленнее. AFAIK из практики ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 00:14 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevquestioner\При асинхронных сервлетах поток работает меньше. Если выполняемая работа одна и та же, то почему "работает меньше" ? Наверное я не ясно выразился раз никто не понимает. У меня с одного рест сервиса работа делится на несколько машин. То есть рест сервис - одна машина. обработчики запроса - много машин. поэтому задача потока томката просто принять запрос и положить его в мапу. Всё поток становится свободен. ответ приходит асинхронно!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 08:55 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro123я спросил вас; "Вы прошлую тему закрыли?". Т.к. принято темы закрывать. Что значит закрыть тему? P.S. Конечно что Вы, что Basil самые умные. куда уж писателю этой статьи http://spring.io/blog/2012/05/07/spring-mvc-3-2-preview-introducing-servlet-3-async-support до вас ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 08:58 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerLeonid Kudryavtsevпропущено... Если выполняемая работа одна и та же, то почему "работает меньше" ? Наверное я не ясно выразился раз никто не понимает. У меня с одного рест сервиса работа делится на несколько машин. То есть рест сервис - одна машина. обработчики запроса - много машин. поэтому задача потока томката просто принять запрос и положить его в мапу. Всё поток становится свободен. ответ приходит асинхронно!!! запросов приходит много, работа, которую делает внешний сервис - долгая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 09:00 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerЧто значит закрыть тему? Подвести итог для будущих поколений). Что решено или что НЕ решено. Детский сад прямо. авторP.S. Конечно что Вы, что Basil самые умные. куда уж писателю этой статьи Интернет это большая свалка (с) Если ты ТС, то работай больше САМ, а не кидай сюда ссылки. С тобой уже 10-ю тему занятия проводят. Уж извини за грубость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 10:28 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerНаверное я не ясно выразился раз никто не понимает. это потому что ты с Servlet 3.1 демку не сделал. questionerУ меня с одного рест сервиса работа делится на несколько машин. То есть рест сервис - одна машина. обработчики запроса - много машин. впереди балансировщик (Ngin) + основной бекенд Томкат Код: java 1. questionerТо есть рест сервис - одна машина. обработчики запроса - много машин. нет Балансировщик нагрузку распределяет. questionerпоэтому задача потока томката просто принять запрос и положить его в мапу. Всё поток становится свободен. ответ приходит асинхронно!!! это ты придумал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 10:34 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerТо есть рест сервис - одна машина. обработчики запроса - много машин. т.е. ты пишешь свой Nginx по ходу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 10:40 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerзапросов приходит много, работа, которую делает внешний сервис - долгаяВот навалилась на вас тысяча клиентов. Сначала прислали тысячу запросов, потом им отправлена тысяча ответов. Существует ненулевая вероятность, что в какой-то момент вам всё равно понадобится тысяча потоков. Возникает вопрос: что лучше - узнать, что мы не можем обслужить тысячу потоков при старте приложения или упасть с OOM в процессе работы? Это первое. Второе. 32-разрядная Oracle JVM может создать и обслужить тысячу потоков, но не может - две тысячи. И, если вам, кровь из носу, надо именно 32-разрядную Oracle JVM - да, потоки надо экономить. Но есть ньюанс. Поскольку у меня есть и Oracle Hotspot и IBM J9, я сравнил четыре варианта - две JVM8 обоих разрядностей каждая. Так вот, 32-разрядная IBM J9 прекрасно создаёт и обслуживает две тысячи потоков. Учитывая, что все тесты делались на достаточно хилом десктопе (Athlon II X-2 250/3ГГц/6Гб), лично я хочу понять - насколько дохлым должен быть сервер, чтобы задача "минимизировать число потоков исполнения любой ценой" - вообще могла возникнуть. P.S. У асинхронных сервлетов есть два назначения: 1. Получить от контейнера отдельный поток исполнения. Этот сценарий может и увеличить используемое число потоков; 2. Организовать цикл чтения/записи средствами контейнера. Этот сценарий может сэкономить число потоков. Вы долбитесь в третий сценарий, который связан с созданием собственного пула потоков, что, в целом, не есть гут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 10:45 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro123questionerНаверное я не ясно выразился раз никто не понимает. это потому что ты с Servlet 3.1 демку не сделал. questionerУ меня с одного рест сервиса работа делится на несколько машин. То есть рест сервис - одна машина. обработчики запроса - много машин. впереди балансировщик (Ngin) + основной бекенд Томкат Код: java 1. questionerТо есть рест сервис - одна машина. обработчики запроса - много машин. нет Балансировщик нагрузку распределяет. questionerпоэтому задача потока томката просто принять запрос и положить его в мапу. Всё поток становится свободен. ответ приходит асинхронно!!! это ты придумал. неадекватное мнение. Говорю нет у меня никакого балансировщика! нееет! Русским по белому сто раз написано. по поводу свободности потока: Если я это придумал - опровергни. Пока это просто пустословие. в ссылке, приведенной выше это написано. В Вашу пользов аргументов не найдено. Petro123 Интернет это большая свалка (с) Ага, и встречаются тут такие как Вы личности, которые никому ни разу не помогли на форуме, а просто разводят флуд в обсуждении не знаю зачем. По сути 90% дельных советов в этом форуме от Blazkowicz, который как минимум сразу обычно не скатывается в троллинг. Остальное-штучные ответы от других людей, как в этот раз. а если тема интересна, то помедитируйте пока не дойдёт над этой фразой: questionerпоэтому задача потока томката просто принять запрос и положить его в мапу. Всё поток становится свободен. ответ приходит асинхронно!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 10:45 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerПо сути 90% дельных советов в этом форуме от Blazkowicz Добро пожаловать в форум. Он больше практик. Меня больше интересует архитектура. Вадю больше интересует JS. Люди разные. Ваши темы очень далеки от практики. В первые ваши темы я не влезал. Тма было системное программирование. Теперь вы полезли в архитектуру. Зачем? Тему с сервлетом решили? Вы прикинулись что не поняли вопрос. Занимайтесь системными потоками на уровне Thread. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 10:49 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovquestionerзапросов приходит много, работа, которую делает внешний сервис - долгаяВот навалилась на вас тысяча клиентов. Сначала прислали тысячу запросов, потом им отправлена тысяча ответов. Существует ненулевая вероятность, что в какой-то момент вам всё равно понадобится тысяча потоков. Возникает вопрос: что лучше - узнать, что мы не можем обслужить тысячу потоков при старте приложения или упасть с OOM в процессе работы? Это первое. Второе. 32-разрядная Oracle JVM может создать и обслужить тысячу потоков, но не может - две тысячи. И, если вам, кровь из носу, надо именно 32-разрядную Oracle JVM - да, потоки надо экономить. Но есть ньюанс. Поскольку у меня есть и Oracle Hotspot и IBM J9, я сравнил четыре варианта - две JVM8 обоих разрядностей каждая. Так вот, 32-разрядная IBM J9 прекрасно создаёт и обслуживает две тысячи потоков. Учитывая, что все тесты делались на достаточно хилом десктопе (Athlon II X-2 250/3ГГц/6Гб), лично я хочу понять - насколько дохлым должен быть сервер, чтобы задача "минимизировать число потоков исполнения любой ценой" - вообще могла возникнуть. P.S. У асинхронных сервлетов есть два назначения: 1. Получить от контейнера отдельный поток исполнения. Этот сценарий может и увеличить используемое число потоков; 2. Организовать цикл чтения/записи средствами контейнера. Этот сценарий может сэкономить число потоков. Вы долбитесь в третий сценарий, который связан с созданием собственного пула потоков, что, в целом, не есть гут. Ни во что я не долблюсь) всё получилось. смотрите, приходит нам каждую секунду 100 запросов. обработка - 1 минута. Обработка идёт на другой машине. она говотова исполнять сколько хочешь запросов но в любом случае это минута При синхронных сервлетах - через 2 секунды потоки кончились - всё писец, приехали, новые запросы не принять. при асинхронных поток контейнера положил задачу в мапу и всё, свободен. Внешняя система получает все запросы с такой же скоростью, что и сервлет. и есть поток(ну или пул), который разгребает результаты. Всё, проблема решена. Что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 10:51 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro123questionerПо сути 90% дельных советов в этом форуме от Blazkowicz Добро пожаловать в форум. Он больше практик. Меня больше интересует архитектура. Вадю больше интересует JS. Люди разные. Ваши темы очень далеки от практики. В первые ваши темы я не влезал. Тма было системное программирование. Теперь вы полезли в архитектуру. Зачем? Тему с сервлетом решили? Вы прикинулись что не поняли вопрос. Занимайтесь системными потоками на уровне Thread. разочарую, это тема близка к практике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 10:53 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerГоворю нет у меня никакого балансировщика! нееет! Вы его пишите сами. Однако упираетесь и не говорите вслух). Теперь сказали вслух и мне ваша тема неинтересна. Нет проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 10:54 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerразочарую, это тема близка к практике. угу Вот тут от вас опять флуд и никакого результата. Зачем нужны фичи servlet 3.0/3.1 ? (1,2,3,4,все) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 10:56 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerНи во что я не долблюсь) всё получилось. смотрите, приходит нам каждую секунду 100 запросов. обработка - 1 минута. Обработка идёт на другой машине. она говотова исполнять сколько хочешь запросов но в любом случае это минута При синхронных сервлетах - через 2 секунды потоки кончились - всё писец, приехали, новые запросы не принять.Уже здесь вы или нагло врёте или тупо не понимаете. При ста HTTP-запросах в секунду IP-стек за минуту примет 60 тысяч подключений. Созданные 60 тысяч TCP-соединений будут существовать (при ваших исходных), как минимум, одну минуту - от подключения клиента до отправки ему последнего байта ответа. Если ваша система в состоянии держать 60 тысяч TCP-соединений - 60 тысяч потоков исполнения не будут для неё слишком тяжким испытанием. Лично я наблюдал JVM с ~15 тысячами потоков. Я сам создал эту стрессовую нагрузку и могу определённо утверждать, что ничего не зависло и всё работало. Сразу оговорюсь - активных потоков было на порядок меньше.questionerпри асинхронных поток контейнера положил задачу в мапу и всё, свободен. Внешняя система получает все запросы с такой же скоростью, что и сервлет. и есть поток(ну или пул), который разгребает результаты. Всё, проблема решена. Что не так?Ну что ж, давайте разберём ваш вариант:questionerЕсть сервлет(он же контроллер в спринге) внутри него пишется Код: sql 1. То есть отправили сообщение в некую систему. id нужен для идентификации ответа. система внешняя отвечает асинхронно. то есть в другом потоке есть infinite lool внутри которого выполняется Код: sql 1. 2. Не я сказал "внешняя система", но я могу предположить, что с этой внешней системой мы общаемся по локальной сети. Поскольку отсылки на авторитеты уже были, то и я позволю себе заметить, что IP-стек и умолчания для него делали весьма неглупые люди. Так вот, тайм-аут записи составляет три, а чтения - пять минут. Если хотя бы один запрос вашего "infinite lool" (бесконечный цикл) повиснет - весь опрос будет остановлен на несколько минут. Если, вдруг, опрос внешней системы станет чуточку медленнее (на десять миллисекунд для определённости) то с шестьюдесятью тысячами запросов (я вас за язык не тянул), потребуется лишних десять минут на очередную итерацию. Про закон подлости и "находится в последнем ящике" просто напомню. Можно, конечно, и ещё поёрничать, но, блин, рано вам оптимизацией заниматься - пишите "как можно проще, лишь бы это работало". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 11:29 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovМожно, конечно, и ещё поёрничать, но, блин, рано вам оптимизацией заниматься - пишите "как можно проще, лишь бы это работало". +1 Если ТС'у так упрямо решать с тормозами внешних систем (ответ 1 минута), то пусть внедряет Очередь сообщений. Их миллион всяких. Даже до таких которые сами по JS работают. http://activemq.apache.org/ajax.html Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 11:59 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
[quot Basil ...Если хотя бы один запрос .... повиснет - весь опрос будет остановлен.... Можно, конечно, и ещё поёрничать... [/quot] Написали IMHO еще больший бред, чем у questioner. IMHO. NIO все же работает и не повисает. Про "infinite loop" не будем ))), это святое ))) В общем, флеймить можно много, но смысла в этом флейме нет. Пусть questioner приглашает нас в ресторан, за кружкой пиво и можно обсудить: производительность, гранулярность, infinite loop'ы, tcp, 10G Ethernet и InfiniBand ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:23 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЛично я наблюдал JVM с ~15 тысячами потоков. Все же, не будем спорить, но 15 тысяч потоков это в любом случае ДОФИГА По многим причинам, например использование памяти под stack. Если под stack по 1 Mb = то это ужа 15 Gb RAM. Хотя, конечно, под такие задачи и сервера ставят соответственные. Но, если задачу можно решить двумя способами: 1) использовав 5-6 потоков и 512 Mb RAM 2) или сделать то же самое , с использованием 15 тысяч потоков и 20-30 Gb RAM. Мне кажется, ответ на вопрос "зачем это нужно" очевиден. При том, что мы говорим о потреблении ресурсов только для выполнения вспомогательного, системного кода. IMHO & AFAIK P.S. Уже говорил, по практике: NIO оказывается медленнее, чем классический IO и требует более сложного кода. Хотя конечно и экономит ресурсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:40 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevНаписали IMHO еще больший бред, чем у questioner. IMHO. NIO все же работает и не повисаетNIO/BIO ... Какая разница, кто кинет IOException??? Тем более, что никакого NIO в примере questioner нет. NIO в асинхронных сервлетах делается несколько по другому, нежели циклический опрос готовности внешнего сервиса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:48 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevНо, если задачу можно решить двумя способами: 1) использовав 5-6 потоков и 512 Mb RAM 2) или сделать то же самое , с использованием 15 тысяч потоков и 20-30 Gb RAM. или уменьшить время отклика подсистемы чтобы переиспользовать потоки или освобождать. Решений куча и все будут работать (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:51 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevНо, если задачу можно решить двумя способами: 1) использовав 5-6 потоков и 512 Mb RAM 2) или сделать то же самое , с использованием 15 тысяч потоков и 20-30 Gb RAM.Вы совершенно напрасно не посмотрели то, что я выкладывал под спойлерами. P.S. Читаете тоже невнимательно - я специально указывал число активных потоков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:52 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
В NIO (по крайне мере Apache HC), как раз что-то наподобие infinite loop. Ядро библиотеки взяло список активных channel'ов, пошли их обрабатывать. Разумеется, прикладной код channel'у через IOControl можно сказать suspend, request. Про exception'ы не понял, да и не помню кем и когда они генерируются. Не буду спорить. Вопросы questioner с каждым разом все "страннее" и "страннее". Рассуждать теоретически можно много, но смысла в этом без пива нет. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:59 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВы совершенно напрасно не посмотрели то, что я выкладывал под спойлерами. Бенчмарки? Да, не смотрел. Petro123Решений куча и все будут работать (с) Полностью согласен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 13:06 |
|
||
|
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 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovБерут они оттуда, что нет прямой связи между "производительностью" сайта и техниками, которые этот сайт использует. Servlet API 3.0 это Tomcat 7.0 . До появления этого контейнера было написано много кода и "бросаться на перепись" только потому, что "можно ещё и так", как минимум - глупо. P.S. Tomcat приведён в качестве примера, т.к. согласно всё той же документация это один из основных (тестируемый) контейнер. в том и дело, что они пернписали всё с их 8 версии но это к теме топика не имеет отношения..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 05:46 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov4. "Программируете точно так же" относилось, скорее, к автору топика. Как к очень яркому представителю. А если Вы программируете как отвечаете, то уж поверьте, ничего хорошего не получится)) Ну и эго, что кругом все идиоты, а я дартаньян, это уже к другим специалистам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 10:53 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerНу и эго, что кругом все идиоты, а я дартаньян, это уже к другим специалистам.Могу только плечами пожать - я даже умнее, чем вы думаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 10:54 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerНу и эго, что кругом все идиоты в зеркало глянь. Вторая тема тоже без твоего итогового кода будет? Ты же ТС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 11:04 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro123questionerНу и эго, что кругом все идиоты в зеркало глянь. Вторая тема тоже без твоего итогового кода будет? Ты же ТС. он на первой странице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 11:10 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerон на первой странице. 2 строки с вопросом? У тебя нарушен баланс между самостоятельной РАБОТОЙ и вопросами к окружающим. А основной метод программиста - самостоятельное обучение. Т.е. твоего кода должно быть поболее) в топиках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 11:14 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro1232 строки с вопросом? 20380250 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 12:29 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, ok. Ещё две)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 12:46 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro123ok. Ещё две))А что такого? Человек использовал штатную возможность спринга. Решение? Решение. Задлянафига именно так? Ну такая вот потокофобия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 12:49 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovРешение? Решение. Задлянафига именно так? Ну такая вот потокофобия. +1 и я про это. Ещё покажи его решение в прошлой теме без спринга и я совсем буду спокоен). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 13:05 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Все зависит от числа запросов в секунду. Если их очень много, например тысячи 2, а для сервера приложений оптимальным размером пула является 500, то система подвиснет. Для этого и нужна асинхронность. Ответ, да, будет ждать, но сервкр приложений будет работать нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 13:21 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Valery ShiskinДля этого и нужна асинхронность. вроде разбирали что 99% проектов делают кластер вместо асинхронности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 13:33 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Убрал бы под спойлер, но не знаю как. Еще раз повторюсь, обсуждаем: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 13:47 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro123Valery ShiskinДля этого и нужна асинхронность. вроде разбирали что 99% проектов делают кластер вместо асинхронности. Ну они как бы и вместе могут жить. Почему нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 14:10 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
questionerНу они как бы и вместе могут жить. Почему нет? Мы про архитектуру или Г.проекты? В архитектуре есть законы. Например, сначала простое решение, а потом при _обосновании_ совмещаем\перемешиваем\переворачиваем. ______________________________________________ "Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 14:23 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Valery ShiskinВсе зависит от числа запросов в секунду. Если их очень много, например тысячи 2, а для сервера приложений оптимальным размером пула является 500, то система подвиснет. Для этого и нужна асинхронность. Ответ, да, будет ждать, но сервкр приложений будет работать нормально.Не нужна для этого асинхронность. Я уже делал ограничение на использование ресурсов сервера приложений в синхронном сервлете и могу обоснованно утверждать, что асинхронный код для этой задачи - не проще и не лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 14:41 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovНе нужна для этого асинхронность... Блин. Но что за сферические утверждения, для сферической задачи Basil A. Sidorovчто асинхронный код для этой задачи - не проще и не лучше. Согласен. По факту, асинхронный код получается сложнее и, как не удивительно, медленнее. / медленнее, по простой причине: код сложнее, больше строк на Java, больше машинных инструкций, больше тактов (времени) требуется ))) / Но если проблема с кол-вом потоков есть (а не выдумана), то приходится ее решать. Тесты по сферическим потокам в вакууме не показатель - в реальности и потоки могут быть не такие сферические и вакуум может быть не настолько чистым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 14:54 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevБлин. Но что за сферические утверждения, для сферической задачи и тут же ниже вы пишите Leonid KudryavtsevСогласен. По факту, асинхронный код получается сложнее и, как не удивительно, медленнее. т.е. у вас просто любовь? Тоже абстрактная? Тему вообще пора забыть. Автор в ней не заинтересован. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 15:02 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro123Тоже абстрактная уже описывал что была реальную задача (и железяку), где пришлось переходить на NIO из за кол-во потоков и отгребать кучу глюков (собственно глюку мне и поручили искать, ушло > 1-1.5 месяца). про "более медленно" можно почитать в И-нет. Почти все пишут, что становится немного медленнее (NIO vs классика, с сервлетами это не связано, т.к. сам контейнер и так уже на NIO). По нагрузочным тестам у меня получалось так же (5-10%). Если 99% процентов сферических жеребцов нормально летают, это не отменяет тот факт, что у некоторых лошадей может быть врожденные проблемы с желудком и утечка газов. Что испортится и сферичность лошади (сдуется) и вакуум. При этом вести лошадь на скотобойню не выход, т.к. держат ее совершенно из-за других характеристик (на скачках кучу бабла зарабатывает). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 15:46 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Petro123Leonid KudryavtsevБлин. Но что за сферические утверждения, для сферической задачи и тут же ниже вы пишите Leonid KudryavtsevСогласен. По факту, асинхронный код получается сложнее и, как не удивительно, медленнее. т.е. у вас просто любовь? Тоже абстрактная? Тему вообще пора забыть. Автор в ней не заинтересован. Если бы тут кого то интересовала заинтересованность автора... Вообще автор ответ получил ещё на первой странице и его заиспользовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 16:06 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevБлин. Но что за сферические утверждения, для сферической задачиЧтобы подтвердить - недостаточно тысячи за. Чтобы опровергнуть - достаточно одного против. Приведите контрпример, а то разбирать звон из уже приводившихся ссылок - очень не хочется.Тесты по сферическим потокам в вакууме не показатель - в реальности и потоки могут быть не такие сферические и вакуум может быть не настолько чистым.Могут, не могут ... Если дефолтовый сайт типового сервлет-контейнера без всяких "jvm fine tuning" без проблем работает с явно запредельным числом потоков, то ужастики про "thread starvation" и всё такое прочее надо оставить там, где ему и место - в прошлом десятилетии. Если не раньше. P.S. Скромный xml-example, который я кидал в первых спойлерах делает не так уж мало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 17:31 |
|
||
|
Spring async servlets support
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevуже описывал что была реальную задача (и железяку), где пришлось переходить на NIOЭто всё замечательно, но если смотреть проческие наставления по асинхронным сервлетам, то становится ясно, что ничего подобного не было продемонстрировано. А вместо NIO - херня вокруг отдельного пула потоков. Ссылки тоже зачётные. И не только старостью: "... я пробовал и tomcat7 и jetty8, но лучше всего получилось с Glassfish ...". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 17:37 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2122980]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
107ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 427ms |

| 0 / 0 |
