Я сделал ajax-приложение, которое отлично работало на моем локальном dev-сервере, но когда я переместил его в онлайн, один конкретный запрос получил очень медленно .Этот запрос довольно сложный - он загружает много данных из базы данных и создает довольно большой текстовый вывод, около 120kB .Поскольку приложение было написано за короткое время, было много места для оптимизации.Естественно, я пытался найти то, что замедляет мое приложение больше всего - и я был удивлен - это было последнее последнее эхо , которое печатало всю вычисленную информацию.
Я использовал Firebug чтобы измерить время.Запрос занял ~ 100 мс без печати информации, только вычисления, но ~ 400 мс с печатью ... поэтому простая команда echo заняла около 300 мс! Тогда япопробовал PHP microtime () , чтобы получить более точные результаты ... но внезапно не было значительной разницы между печатью и не печатью.Так что я думаю, что проблема в другом - в области отправки текста в Apache, а затем в клиент ... Я не понимаю этого, но где-то читал, что это может быть вызвано небольшим буфером Apache.Могу ли я что-нибудь с этим сделать?Я не думаю, что 120 КБ это слишком много - всего несколько лет назад, во времена разметки таблиц, большинство крупных веб-сайтов имели html-источник такого размера.
Может ли это быть проблемой веб-хостинга?Я мог бы попытаться связаться с ними, но, естественно, было бы легче, если бы я мог решить это сам.