|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
Недавно делал такую программу. Может будет кому интересно. Код: java 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.
Код: xml 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.
С уважением, Валентин ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2019, 09:13 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
Имеет смысл нарисовать сравненение к примеру с JMeter и показать чем эта утилита лучше. Проще там в настройке e.t.c. Кроме того в коде видно около десятка настроечных параметров которые не вынесены в CLI. Почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2019, 11:17 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
Да кому нужен очередной клон ab/curl/wget/JMeter? ИМХО что-то типа GPSS с возможностью фладить по попсовым сетевым протоколам был бы в сто раз интереснее ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2019, 14:19 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
maytonИмеет смысл нарисовать сравненение к примеру с JMeter и показать чем эта утилита лучше. Проще там в настройке e.t.c. Кроме того в коде видно около десятка настроечных параметров которые не вынесены в CLI. Почему? Есть ещё конфигурационный файл с 2-мя параметрами: url - url для GET запросов requestRate - число запросов в секунду. С уважением, Валентин ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2019, 15:37 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
dimonz80Да кому нужен очередной клон ab/curl/wget/JMeter? ИМХО что-то типа GPSS с возможностью фладить по попсовым сетевым протоколам был бы в сто раз интереснее Это ещё одна утилита для нагрузочного тестирования. С уважением, Валентин ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2019, 15:41 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
Valentin KolesnikovmaytonИмеет смысл нарисовать сравненение к примеру с JMeter и показать чем эта утилита лучше. Проще там в настройке e.t.c. Кроме того в коде видно около десятка настроечных параметров которые не вынесены в CLI. Почему? Есть ещё конфигурационный файл с 2-мя параметрами: url - url для GET запросов requestRate - число запросов в секунду. С уважением, Валентин Ну... я до конца не понимаю суть этих параметров. Код: java 1. 2. 3. 4. 5.
однако хотелось-бы иметь возможноть ими управлять. Даже 30 секунд.... Это такая спорная цифра. У кого-то база еще за 30 секунд не прогреется. Хорошую базу вообще можно 30 минут греть. Ну вобщем... больше контроля. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2019, 15:46 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
Valentin Kolesnikovurl - url для GET запросов requestRate - число запросов в секунду.а как быть с websocket? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2019, 16:19 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
Я помнится сделал тул для моделирования работы сенсоров на разных устройствах. В качестве конфигурации взял простой json через рест. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
https://vyatkins.wordpress.com/2016/07/30/velociraptor/ Все это крутится на томкете или Jetty довольно легко маштабируется по порту так как данные гонит через вебсокет. Расписание связи указано в секундах, а частота замеров в миллисекундах. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2019, 18:16 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
Valentin Kolesnikovdimonz80Да кому нужен очередной клон ab/curl/wget/JMeter? ИМХО что-то типа GPSS с возможностью фладить по попсовым сетевым протоколам был бы в сто раз интереснее Это ещё одна утилита для нагрузочного тестирования. С уважением, Валентин А Вы прежде чем свой вело утилиту писать, смотрели тот же JMeter например? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2019, 18:39 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
Valentin Kolesnikovdimonz80Да кому нужен очередной клон ab/curl/wget/JMeter? ИМХО что-то типа GPSS с возможностью фладить по попсовым сетевым протоколам был бы в сто раз интереснее Это ещё одна утилита для нагрузочного тестирования. С уважением, Валентин Бомбить запросами с максимально скоростью (или ограниченным rpm) - не нагрузочное тестирование. Было бы интереснее создать хотя-бы пуассоновский поток запросов. А совсем хорошо - возможность задавать различные характеристики потока запросов. Это ИМХО самое главное, чего не хватает упомянутому JMeter для того, чтобы сделать его серьезной тулзой для именно нагрузочного тестирования. Короче - нагрузочное тестирование без теории массового обслуживания - не нагрузочное, вот! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2019, 01:22 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
dimonz80Valentin Kolesnikovпропущено... Это ещё одна утилита для нагрузочного тестирования. С уважением, Валентин Бомбить запросами с максимально скоростью (или ограниченным rpm) - не нагрузочное тестирование. Было бы интереснее создать хотя-бы пуассоновский поток запросов. А совсем хорошо - возможность задавать различные характеристики потока запросов. Это ИМХО самое главное, чего не хватает упомянутому JMeter для того, чтобы сделать его серьезной тулзой для именно нагрузочного тестирования. Короче - нагрузочное тестирование без теории массового обслуживания - не нагрузочное, вот! Я идиот! В JMeter уже все есть ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2019, 01:57 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
В любом случае приложение достойно внимания. Есть класс утилит которые работают из консоли и ставят своей задачей быстро что-то протестировать. Или как можно скорее подтвердить негативный сценарий. И будет ли распределение Пуассоном или не-пуассоном - не суть важно. Просто проверить что микросервис падает уже на 10-й транзакции, запущеной в параллель. Например безопасник может подёргать nmap для того чтобы проверить открытые порты на вашей рабочей станции. Здесь утилита колесникова (будь она реализована как shell-скрипт и запускаема из /usr/bin) станет просто инструментом быстрой проверки. Она не будет претендовать на лавры JMeter но время готовности к работе - будет ее преимуществом. Кому это надо - решать пользователю. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2019, 10:38 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
maytonВ любом случае приложение достойно внимания. Есть класс утилит которые работают из консоли и ставят своей задачей быстро что-то протестировать. Отчасти соглашусь, но лучше освоить JMeter. И проверок там больше можно сделать, и нагрузку создать тоже проще ("нормальную" нагрузку часто надо создавать из распределенной сети - хотя бы с нескольких компьютеров). Протестировать обычный GET - в JMeter собирается за минут 5-10 (параллельно попивая кофе и читая новости). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2019, 11:57 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
5-10 минут - это невыносимо долго. Согласись. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2019, 12:06 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
mayton5-10 минут - это невыносимо долго. Согласись. да это ваще пипец. быстрее 10 строчек кода написать с Executors.newFixedThreadPool и http-клиентом ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2019, 13:13 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
mayton5-10 минут - это невыносимо долго. Согласись. Согласен :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2019, 14:10 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
dimonz80Было бы интереснее создать хотя-бы пуассоновский поток запросов. К слову сказать как Вы его создаете когда надо? P.S. К слову сказать на хабре обнаружил статью где боле менее объясняется история вопроса https://habr.com/ru/company/yandex/blog/431650/ ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2019, 20:44 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
Sergunkadimonz80Было бы интереснее создать хотя-бы пуассоновский поток запросов. К слову сказать как Вы его создаете когда надо? Задать время между запросами как случайную величину с экспоненциальной плотность распределения вероятностей ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2019, 01:46 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
dimonz80Sergunkaпропущено... К слову сказать как Вы его создаете когда надо? Задать время между запросами как случайную величину с экспоненциальной плотность распределения вероятностей Ну, это понятно из учебника, код когда нибудь писали? Интересно было бы взглянуть... ну или объясните на пальцах Из моего опыта там серьезный момент когда сервис занят, что происходит как долго запрос "висит" в очереди? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2019, 02:40 |
|
Программа для нагрузочного тестирования htttp сервисов
|
|||
---|---|---|---|
#18+
Sergunkadimonz80пропущено... Задать время между запросами как случайную величину с экспоненциальной плотность распределения вероятностей Ну, это понятно из учебника, код когда нибудь писали? Интересно было бы взглянуть... ну или объясните на пальцах Код писал для диплома много лет назад, сейчас не найду уже. Только там нагрузка эмулировалась на уровне отдельных пакетов. Чтобы получить функцию задержки между запросами, надо взять функцию, обратную ПРВ, от равномерно-распределенной случайной величины (обычный rand()). Как-то так, если мне склироз не изменяет Почитать по теме можно вот такое Б.С.Лившиц, А.П.Пшеничников, А.Д.Харкевич Теория Телетрафика, гл 7 В. Столлингс Современные Компьютерные сети, гл. 7-9 Из моего опыта там серьезный момент когда сервис занят, что происходит как долго запрос "висит" в очереди? Дык моделирование для того и нужно, чтобы ответить на вопрос "а с какой вероятностью и временем ожидания будет обслужен запрос, когда на входе поток в 100500 rps, а очередь только на 10 запросов?" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2019, 03:54 |
|
|
start [/forum/topic.php?fid=59&msg=39811312&tid=2121318]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
179ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 239ms |
total: | 527ms |
0 / 0 |