Тестирование блоголёта на реальном зеркале blogclient.ru
20.01.2009Переход из WordPress на Блоголёт - пред запись на блоге Программы для блогов. Сегодня, после очередной грандиозной (без шуток) переделки ядра блоголёта, запустил полное зеркало blogclient.ru на отдельном домены - для тестирования дня на три, потом конечно весь контент оттуда удалю. Выявились первые недостатки блоголёта.
Во первых урл зеркала fireflyblog.ru - там находится все записи и комментарии к ним записей этого блога, ну конечно кроме этой - она писалась после создания зеркала. Зеркало создается за несколько минут одним скриптом в автоматическом режиме.
Первое удивление - скорость слишком медленная. Мои тесты на моем очень стареньком компе с Windows и денвером показывает время на пару порядков выше - я даже ни разу не заморочился насчет скорости - дома все очень быстро, а на реальном блоге показывает 3 - 5 секунд. Это просто чудовищно. На домашнем цифры были от 001 до 0.5 секунды. Поэтому я вообще никак не занимался этой проблемой, сосредоточившись на потреблении памяти - после некоторых переделок в ядре потребление снизилось в среднем где-то на 0.5 - 0.9Мб что на мой взгляд вполне удовлетворительно. Можно в принципе отыграть еще 200 - 300Кб, но это будет не принципиально и не будет играть сколь нибудь значимой роли, поэтому над потреблением памяти я пожалуй остановлюсь.
Что касается скорости, то очевидно, что такая потеря производительности является следствием файловых операций движка: открывается слишком много файлов. Сразу же могу предположить оптимизировать для следующей версии блоголёта объединить несколько стандартных классов в один файл - так или иначе они загружаются при любом телодвижении движка, поэтому логичнее было бы их поместить в отдельный файл.
Поместил - работы над объединением 5 минут. Работает также и даже хуже. Совсем не понимаю. Буду думать, куда уходит время, при том времени много - 2-3 секунды это очень много.
Upd: провел серию тестов. Совсем непонятно где теряется время - тесты показывают требуемые 0.01 - пример http://fireflyblog.ru/bench.php Есть теория, что то неладно с серверными заголовками, и проблема в настройках сервера и конфигурации php, а не с блоголётом, с которым все просто отлично - летает и памяти не жрет как свинья.
Upd2: путем сужения нашелся источник потенциальных проблем - всего лишь одна функция include($CacheFileName); выполняется все эти секунды, и при этом совсем непонятно почему, так как она же с этим же файлом выполняется свои положеные милисекунды. Следующим шагом будет трасировка времени внутри файла кеша, а то получается какая то чертовщина со временем.
Upd3: Язык PHP - это тримандаблядская недоебанная хуетень, чтобы ему... Хуй его знает, почему но php конкретно спотыкается на обычном html размерами несколько строк - подозрения падают на какие то спецсимволы, которые не может переварить этот гребанный php, тратя на это более 4 секунд - смотрите главную страницу fireflyblog.ru там между двумя цифрами sec.
Upd4: PHP конкретно спотыкается на фразе "Далее про админку блоголёта" - тратя на нее до 3 секунд, текст в кодировке utf8 взятый из mysql . Я скопировал несколько раз эту строку в том же файле - тормоза происходят только один раз, и то даже не с первого раза. Точной закономерности не выявил. Методы лечения - предположу, что надо два раза конвертнуть из utf в windows и обратно для очистки вероятно случайных символов. Эта же фраза в отдельном файле php повторенная несколько раз вообще не влияет на скорость - по нулям время получается. Кто виноват и кто долбоёб выяснять нет желания. Но для меня это реальное открытие - чтобы php спотыкался на символах - я ведь могу выдавать и двоичный поток, например видио и аудио, архивы и прочее - так что теперь все будет работать через жопу? Либо выёбывается апач - но он какким хуем приложен к контенту не понимаю. Где моя граната - брошу чтоб взорвать проблемы возникающие на пустом месте.
Мой блог находят по следующим фразам
• русские символы и utf8 в php
• настройка virtual dubl
• прошивка на модем Mf 626
• 3g модем от мтс
• 3g модем
• яблочный фреш скорость gprs
← Ранее Переход из WordPress на Блоголёт
Позже Требуется помощь в PHP →
Комментарии (2) на запись “Тестирование блоголёта на реальном зеркале blogclient.ru”
Пингбеки
Оставить комментарий
Вот пожалуй и все, остальное не имеет такого большого значения