| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Долго выполняется PHP скрипт, при запросе ajax'ом |
| Автор: K0T9I 26.3.2012, 00:25 |
| Не знаю в раздел javascript или сюда лучше подойдет. Попробую сюда. Есть сампописная админка, в шаблонах подключен js файл, который при нажатии на любую ссылку добавляет к запросу 'ajax=1' и делает ajax запрос на сервер. В админке в зависимости от того, установлен ли параметр 'ajax' в запросе рендериться либо обычный html шаблон, либо xml ответ для ajax. Так вот, при обновлении страницы или отключении ajax php скрипт отрабатывает за приемлимое время: total execution time: 2215.17 ms (на домашнем компе локальный сервер, машинка слабовата поэтому 2 секунды, примите это за нормальное время) При прямом добавлении параметра 'ajax=1' в строку запроса и выдаче xml ответа непосредственно на страницу total execution time тоже в пределах нормы. А вот при отработке через js скрипт той же самой страницы, что и в предыдущих запросах: total execution time: 8186.78 ms (причем увеличение времени исполнения скрипта только в ie7, опера и гугл хром отрабатывают за нормальное время) total execution time это время работы именно php скрипта, и я понять не могу, как влияет js скрипт на время выполнения серверного скрипта. Прошу вашей помощи. |
| Автор: Wolf1994 26.3.2012, 06:32 |
| IE использует отличный от других браузеров метод для AJAX запросов. Если тестирование идёт на локальном компьютере, то производительность старой версии этого браузера при запросе и обработке XML может замедлить сервер и увеличить время ответа. Если браузер вспомогательный и открыт вместе с "основным", то нехватка оперативной памяти также может сильно замедлить систему. |
| Автор: K0T9I 26.3.2012, 07:03 | ||
То есть тормозит конкретно на локальном сервере и на удаленном не будет? Вообще я проверял на удаленном сервере, там время в IE порядка 30мс, как и в других браузерах, но ожидал какую-нибудь свинью от осла. |
| Автор: Sentox 28.3.2012, 01:16 |
| IE использует для ajax запросов ActiveX. Инстанцирование COM объекта так же занимает время, особенно если старые IE. |