BlazeDS Polling Interval установлен в 0: нежелательные побочные эффекты? - PullRequest
2 голосов
/ 05 апреля 2011

tl; dr: установка интервала опроса на 0 значительно повысила мою производительность, но я беспокоюсь о возможных проблемах в будущем.

В моем приложении я выполняю достаточное количество публикаций с нашего java-сервера на нашем гибком клиенте, публикуя различные темы и подтемы.

В последнее время мы работали над повышением производительности всей системы, и уровень обмена сообщениями оказался большим узким местом.

Несколько минут назад я обнаружил, что установка для свойства в нашем services-config.xml значения 0 приводит к тому, что опубликованные сообщения, даже если их много, распознаются клиентом практически мгновенно. вместо 3-секундной задержки, которая является значением по умолчанию для интервала опроса-миллис, который, очевидно, оказал огромное влияние.

Итак, я очень доволен текущим исполнением, единственное, я немного нервничаю из-за непреднамеренных побочных эффектов, вызванных этим изменением. В частности, меня беспокоит замедление работы нашего Flash-клиента и слишком большого количества нежелательного трафика.

Мое предварительное тестирование не подтвердило этот страх, но прежде чем я внес изменения в наш репозиторий, я надеялся, что кто-то, имеющий опыт работы с этим материалом, присоединится.

Ответы [ 2 ]

1 голос
/ 05 апреля 2011

Возможно, вы захотите попробовать длительный опрос. Для наших серверов Weblogic у нас не возникнет никаких проблем, если мы не позволим запросу опроса идти до 5 минут, поэтому мы оставляем его равным 4, затем даем ему 1 секунду отдыха перед повторным запуском. У нас всего пара сотен пользователей, с 60-70 жестким ядром на весь день. Имейте в виду, что вы в основном превращаете прерывистые пользовательские запросы в то, что почти всегда связано с сеансами Telnet. В зависимости от браузера, который используют ваши пользователи, это может повлиять и на это, но в целом мы были очень довольны.

1 голос
/ 05 апреля 2011

К сожалению, ваш вопрос слишком общий ... нет никакого способа получить конкретный ответ.Ниже я напишу некоторые идеи, возможно, они полезны.

Уменьшение значения с 3 до 0 означает, что вы получаете новые данные намного быстрее.Если ваш клиент Flex использует эти данные для выполнения сложных вычислений, можно замедлить работу клиента или отобразить устаревшие данные (это известный шаблон, см. http://help.adobe.com/en_US/LiveCycleDataServicesES/3.1/Developing/WS3a1a89e415cd1e5d1a8a18fb122bdc0aad5-8000Update.html).Вам необходимо понять, как обрабатываются данные, и, возможно, провести некоторый клиентский бенчмаркинг.

Также серверу придется обрабатывать больше запросов, и было бы хорошо определить максимальное количество запросов в секунду, которое может бытьобрабатываются.Для этого вам нужно будет использовать инструмент, такой как Jmeter, чтобы определить максимальную емкость вашей системы, после чего вы можете выполнить некоторые вычисления, пытаясь выяснить, сколько запросов в секунду у вас будет после того, как вы сократили интервал с 3 до0, принимая во внимание, что количество клиентов увеличивается с 10% в месяц и т. Д. И т. Д.

Основная идея заключается в том, что вам следует провести некоторое тестирование производительности для некоторого API и сохранить сценарии, чтобы увидеть,будущие модификации слишком сильно замедляют работу системы.Без этого довольно трудно догадаться, нормально ли это менять параметры конфигурации.

...