Время ожидания графиков слияния истекло

#fusioncharts

#диаграммы слияния

Вопрос:

У меня есть страница с несколькими диаграммами, отображаемыми с использованием диаграмм слияния, и я извлекаю большой объем данных из базы данных для их заполнения. Время ожидания некоторых диаграмм истекает, и они имеют непрерывный счетчик, http-запрос прерывается. та же диаграмма отображается, если URL-адрес для этой диаграммы отдельно запущен в браузере. Я увеличил значение времени ожидания для вызова jquery.ajax, но это не работает, я предполагаю, что время ожидания истекает на уровне flash Player.В любом случае, чтобы справиться с этой проблемой тайм-аута?

Комментарии:

1. Это потому, что время ожидания сценария на стороне сервера истекает?

Ответ №1:

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

  1. Используете ли вы последнюю версию диаграмм слияния? Если нет, то обновление было бы хорошей идеей. Более новая платформа JavaScript FusionCharts использует AJAX для извлечения данных. Это может оказаться более стабильным и надежным для вас. Если вы уже используете последнюю версию, убедитесь, что вы не используете какой-либо устаревший API (например .setDataURL ) и что вы не используете чистый метод встраивания HTML.
  2. Возможно также, что вы пытаетесь поместить слишком много точек данных, чем рекомендуется, и нагрузка просто слишком велика для отображения всех диаграмм. как правило, графики отображаются нормально с 300-500 точками (и даже выше, если конфигурация простая). Круговые диаграммы полезны до 100 пунктов. Если у вас слишком много данных, попробуйте использовать ZoomLine диаграмму.
  3. Другой причиной может быть нагрузка на сеть. Слишком много данных, пытающихся одновременно загружаться, приводит к тому, что браузер прерывает соединения / истекает время ожидания. У вас медленное соединение или более старый браузер? Попробуйте загружать диаграммы по цепочке в шахматном порядке (т. Е. Когда на одной диаграмме происходит FC_Rendered событие, визуализируйте следующую… и так далее.)
  4. Вы также можете попробовать выборку данных напрямую с помощью jQuery AJAX, и когда все данные будут загружены, вы можете начать рендеринг диаграмм, отправив данные в виде XML строки с помощью .setXMLData() .

Вы также можете проверить, происходит ли это, даже если вы используете вариант диаграмм на JavaScript. Если нет, то вы можете придерживаться его использования.

PS: Отвечаю так поздно… но если вы все еще находитесь в цикле, это может помочь. 😛

Комментарии:

1. Привет, Шамасис, спасибо за входные данные и предложения. Мы попробовали внести некоторые изменения и смогли устранить эту проблему, используя сводные таблицы в серверной части. Время ожидания графиков истекло, поскольку извлечение данных было очень медленным из-за нескольких графиков на одной странице. И теперь мы используем версию диаграмм на JavaScript, поскольку они легче и поддерживаются лучше.

2. @pri_dev Итак, проблема заключалась в основном в том, что время ожидания на стороне сервера истекло или в AJAX / сетевом транспорте? Вы пробовали поэтапный / цепной подход к загрузке, о котором я упоминал в пункте 3?