Веб-приложение Kony использует Object.wait() для одновременных вызовов службы

Выполняя тест производительности 150 пользователей с использованием SilkMeter для веб-приложения Kony, мы столкнулись со странным поведением, когда службы удерживаются в состоянии ожидания в методе doFilter.

Приложение работает в IBM WebSphere 8.5.10, а веб-поток настроен как минимум 50 и максимум 800. Проблема заключается в том, что когда мы увеличиваем количество пользователей, метод ожидания () также увеличивается во времени. Ниже представлен скриншот из Dynatrace. [![Отчет Dynatrace][1]][1]

Мы перепробовали много методов, но не смогли избавиться от этого метода ожидания. Какие-либо предложения?


person Bilal Abdulkany    schedule 06.01.2020    source источник
comment
увеличение времени, затрачиваемого на Object.wait(), является симптомом других проблем с производительностью (например, настройка, аппаратное обеспечение, базовая архитектура приложений), которые значительно выходят за рамки вопроса о переполнении стека.   -  person Andy Guibert    schedule 06.01.2020
comment
Каково количество потоков в настройках Threadpool в WAS? У нас была аналогичная проблема с приложением Kony, и нам помогло увеличение числа потоков.   -  person highhope    schedule 06.01.2020
comment
минимум 50 и максимум 800. Но количество активных потоков составляет всего около 20-25. Когда мы увеличиваем нагрузку, количество активных потоков не сильно увеличивается, но время ожидания увеличивается.   -  person Bilal Abdulkany    schedule 06.01.2020
comment
@AndyGuibert Сервер приложений содержит 4 процессора и 64 ГБ ОЗУ. Все настройки сделаны, а эффекта нет. У нас также были IBM и Kony для поддержки, но мы все еще не знали   -  person Bilal Abdulkany    schedule 06.01.2020
comment
@AndyGuibert Привет, Энди, я вижу, что ты разработчик IBM WebSphere. Не могли бы вы связаться? Мы привлекаем команду IBM, но до сих пор не можем разобраться в проблеме.   -  person Bilal Abdulkany    schedule 07.01.2020
comment
Есть ли зависшие потоки в узле? Мин. 50 и макс. 800 для базы данных Threadpool? Если вы не возражаете, можете ли вы поделиться снимком экрана с конфигурацией вашего потока БД из WAS?   -  person highhope    schedule 07.01.2020
comment
@highhope нет зависших тем. Минимальное и максимальное значение для пула потоков WebContainer составляет 50 и 800. Также DB составляет только 20-50.   -  person Bilal Abdulkany    schedule 07.01.2020


Ответы (1)


Это ожидаемое поведение Kony, протестированное в версии 7.3.0. Это происходит, когда количество транзакций в час увеличивается. Когда есть много обращений к серверу из-за kdw, мы можем увидеть время ожидания. Если это превышает 5 секунд, то лучше уменьшить количество транзакций и подумать о времени шелкового счетчика. Kony поддерживает 35 запросов в секунду для 1 процессора и 8 ГБ памяти. Превышение этого значения приведет к увеличению времени ожидания, как показано на рисунке.

person Bilal Abdulkany    schedule 17.01.2020