2013-02-22 2 views
1

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

«ColdFusion: Сервер не отвечает на запросы оповещения активных»

10 или более потоков заняты более чем на 60 секунд.

  • Всего запросов Running - 28
  • Всего запросов в очереди - 0
  • шаблона Запуск запросов - 28
  • шаблона Queued запросов - 0
  • Flash Remoting Запуск запросов - 0
  • Вспышка Remoting QUEUED запросы - 0
  • Метод ХФУ Выполнение запросов - 0
  • ХФУ мет спосо QUEUED запросы - 0
  • Web Service Запуск запросов - обслуживание 0
  • Web - запросы на 0

ли причина в том, что использование cfthread занимает много времени? При обработке на наших сайтах иногда приходится потреблять много данных из внешних служб. Или это может быть связано с выполнением задач cfthread, перекрывающих друг друга?

Любая помощь с благодарностью.

+0

Ваши потоки не должны пересекаться друг с другом, но если ваш код создает много cftreads, они могут бороться за ресурсы. Если ваш сервер недостаточно, у вас будут потоки, которые должны стоять в очереди и ждать своей очереди. Если это так, у вас есть два варианта: усилить ваш сервер или попытаться оптимизировать свой код (если это возможно), чтобы уменьшить количество конкурирующих потоков. Кроме того, если вы работаете с базой данных, вы можете посмотреть оптимизацию своих запросов и таблиц (индексов и т. Д.), –

ответ

0

Проверьте своего администратора Coldfusion (в разделе «Настройка запроса»), который позволяет увеличить количество доступных потоков, насколько они могут стоять в очереди, когда ваши запросы превышают доступные, а также как долго разрешить поток запускать до его уничтожения ,

Если вы ограничиваете себя 10 (по умолчанию я думаю), и 10 человек попали на страницу, которая занимает ваши потоки, тогда CF поставит в очередь дополнительные запросы. Если ваша очередь проходит, это ограничение, новые запросы не принимаются (или это убито?). Те потоки, которые работают более 60 секунд, уничтожаются, чтобы сделать эти ресурсы доступными для следующего человека.

Вам действительно нужно найти то, что занимает более 60 секунд, чтобы завершить и оптимизировать его. Если вы этого не сделаете, вам придется увеличить свое пособие на большее количество потоков (для этого потребуется больше памяти) или, по крайней мере, позволить вашей очереди углубляться (что может помешать вашим пользователям, так как они не получат ответа, пока их поток не станет шанс выполнить).

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