2015-01-24 4 views
0

Я выполняю нагрузочные тесты на моем MBP. Нагрузка вводится с использованием gatling.Высокая нагрузка на причал

Мой веб-сервер молы 9.2.6

На большой нагрузке, количество потоков остается неизменным: 300, но число открытый сокет растет от 0 до 4000+, который генерирует слишком много открытых файлов, в ОС уровень.

Что это значит? Есть идеи, чтобы улучшить ситуацию?

Вот выход молы стат

Statistics: Statistics gathering started 643791ms ago Requests: Total requests: 56084 Active requests: 1 Max active requests: 195 Total requests time: 36775697 Mean request time: 655.7369791202325 Max request time: 12638 Request time standard deviation: 1028.5144674112403 Dispatches: Total dispatched: 56084 Active dispatched: 1 Max active dispatched: 195 Total dispatched time: 36775697 Mean dispatched time: 655.7369791202325 Max dispatched time: 12638 Dispatched time standard deviation: 1028.5144648655212 Total requests suspended: 0 Total requests expired: 0 Total requests resumed: 0 Responses: 1xx responses: 0 2xx responses: 55644 3xx responses: 0 4xx responses: 0 5xx responses: 439 Bytes sent total: 281222714 Connections: [email protected] Protocols:http/1.1 Statistics gathering started 643784ms ago Total connections: 8788 Current connections open: 1 Max concurrent connections open: 4847 Mean connection duration: 77316.87629452601 Max connection duration: 152694 Connection duration standard deviation: 36153.705226514794 Total messages in: 56083 Total messages out: 56083 Memory: Heap memory usage: 1317618808 bytes Non-heap memory usage: 127525912 bytes

+0

сколько рабочих потоков вы настроили? Это просто означает, что вы, возможно, не справляетесь с потоком рабочего пристани, и вы синхронно обрабатываете запрос и занимаете его долго, пока розетка открыта. Вы должны искать события обработки асинхронно. – SMA

+0

значения по умолчанию, отсутствие пользовательской конфигурации пула потоков –

+0

'Макс. Одновременные подключения открыты: 4847 Средняя продолжительность соединения: 77316.87629452601' см. Это у вас есть 4,8K одновременных соединений, и вы занимаете 77 тысяч секунд для обработки каждого события. Это действительно так? – SMA

ответ

2

Некоторые советы:

  • Не имеют нагрузки клиента и загруженности сервера на той же машине (не обманывают и попытайтесь установить нагрузку на две разные виртуальные машины на одной физической машине)
  • Используйте несколько клиентских машин, а не только 1 (когда разработчики Jetty тестируют характеристики нагрузки, мы используем соотношение clien как минимум 10: 1 t к серверным машинам)
  • Не тестируйте с помощью loopback, виртуальных сетевых интерфейсов, localhost и т. д. Используйте настоящий сетевой интерфейс.
  • Поймите, как ваш клиент нагрузки управляет своими HTTP-версиями + соединениями (такими как keep-alive или http/1.1 close), и убедитесь, что вы прочитали содержимое тела ответа, закройте контент-ответ/потоки ответа и, наконец, отключите соединение.
  • Не тестируйте с нереалистичными сценариями нагрузки. Реальным использованием вашего сервера будет большинство HTTP/1.1 конвейерных соединений с несколькими запросами на физическое соединение. Некоторые на быстрых сетях, некоторые на медленных сетях, некоторые даже на ненадежных сетях (думаю, мобильные)
  • Исходная скорость, служащая одному и тому же контенту, все по уникальным соединениям, в конечном счете является увлекательным номером and can produce impressive results, а также совершенно бессмысленна и ничего не доказывает как производительность вашего приложения на Jetty будет вести себя в реальных сценариях.

И, наконец, be sure you are testing load in realistic ways.

+0

Я пришел с поисковой страницы CLOSE_WAIT в Google, выполняя некоторые тесты нагрузки, и это блестящий ответ! – madhead

Смежные вопросы