Просмотр полной версии : По мотивам "TYPO3 CMS 6.2 LTS beta5 released"
dmartynenko
21.02.2014, 14:36
Выдержка из того, что оптимизировано по производительности.
1. Use (int) instead of intval() or (integer) (#54265)
2. Use $x[n] instead of substr($x, n, 1) (#55445)
3. Add Index on sys_domain (#55181)
Оптимизации супер крутые.
П2 не будет работать с многобайтовыми utf8, конечно англоязычные разработчики ничего не заметят. Ведь у них utf8 однобайтовый.
П3 - сколько обычно записей в sys_domain? Чаще всего 1-2. Может у кого-то и десяток наберется.
Что они там курят?
Весьма полезно и интересно!
Печальное будущее именно у ядра TYPO3, именно у ядра, а не у комунити и разработчиков.
Они уже хотят новый белый адаптивный интерфейс вешать на все это дело - TYPO3 7.
Одно время думал использовать только админку TYPO3, а FE index.php делать руками для отдельных задач... И так по производительности это было бы как HTML. Но это не выход - тогда CMS-то для чего нужны?
Вот еслиб вырезать из 6.2 как то FAL и новые TCA стили полей...
Я бы вообще забыл, про то что есть TYPO3 org.,, T3A,,, и что там что-то живет и развивается, и что есть вообще что-то кроме TYPO3 4.7.12!:)
Интересно а можно как-то немного из BE 6 перелить в старые версии?
Мож кто - то делал?
Самое интересное, что сколько не копался в движке так и не могу понять, что именно там так долго заставляет его собираться...
Вот что получается (главная страница) - ~ 8-10 _INT плагинов (может и больше):
при запросе страницы первый раз = 2-2,5 секунды!
При повторном обращении к странице...
Это время примерно следующее (диапазоны)
Page generation time = 0.96068 second
Page generation time = 0.58046 second
По идее все работает быстро - в т.ч.
А) Шаблоны - вроде быстро отдаются... Sum time 0.32518 (> 10 шаблонов SMARTY)
Б) SQL-запросы: Время выполнения запроса: 0.00150108 sec (их может быть и 100 и 200 и больше, но это все равно меньше секунды)
Но как-то при всем этом все равно видно, что основной ресурс сжирается чем то выше, нежели А и Б...
При всем этом битрикс c его запросами на оснвое API - просто летает, даже на localhost..:cool:
Даже BATTLEFIELD 4 - и то работает быстро и шустро!
Может быть у меня плохая видеокарта для TYPO3.
http://www.figam.ru/uploads/posts/2013-12/1385893377_battlefield-4-type-88-screenshot-1.jpg
Вот что имею в виду про производительность когда говорю:
Условно перед тем как человек увидит в браузере страницу происходит
А) Сборка страницы (80-90%) от времени генерации
Б) Работа расширений, влияющих на FE через hook-и (5%, а то и меньше)
В) Запросы к БД (5% времени, а то и меньше)
Г) Работа USER_INT плагина со своей внутренней логикой кэширования (5%, а то и меньше)
http://ivan-web-blog.ru/wp-content/uploads/2014/03/typo3-long-load1.png
Кто как оптимизирует именно часть А) и есть ли какие либо рекомендации на этот счет?
Старые версии TYPO3 - то летают...
Именно летают. Когда ходишь по ссылкам сайта, странички открываются мгновенно. Даже если хостинг не очень передовой!
Читал что пишут на зарубежных форумах - но все равно, они так или иначе не затрагивают часть А).
Оооо... уже интересно:
index.phpСкрипт выполнялся 0.0000 сек.
index_ts_from_typo3_systextСкрипт выполнялся 0.0008 сек.
tslib_feСкрипт выполнялся 0.0665 сек.
tslib_fe_endСкрипт выполнялся 0.0665 сек.
tslib_feUserAuthСкрипт выполнялся 0.0743 сек.
tslib_feUserAuth_endСкрипт выполнялся 0.0743 сек.
TSpagegenСкрипт выполнялся 0.1537 сек.
TSpagegen_endСкрипт выполнялся 0.1552 сек.
tslib_cObjСкрипт выполнялся 0.1686 сек.
tslib_cObj_endСкрипт выполнялся 0.1686 сек.
index_ts_from_typo3_systext_endСкрипт выполнялся 0.3328 сек.
Из расчета запросов к БД - 15-20 (не больше, а то и меньше)...
Шаблонов - All template /16/ genetaion time 0.00559,0.01081,0.00474,1.0E=5,0.00619,0.00183,0.0 0168,1.0E=5,0,0,1.0E=5,0.01511,1.0E=5,1.0E=5,1.0E= 5,3.0E=5 | Sum time 0.04604
И теперь пробуем - сносим весь сайт к бабушке на куличики...:)
Пишем один единственный код:
page = PAGE
page.typeNum = 0
page.10 = TEXT
page.10.value = Hi!
Сбрасываем весь кэш...
И Вауля, что мы имеем:
1) При запросе страницы первый раз (еще без кэша):
Скрипт выполнялся 0.0000 сек.
index_ts_from_typo3_systextСкрипт выполнялся 0.0008 сек.
tslib_feСкрипт выполнялся 0.0794 сек.
tslib_fe_endСкрипт выполнялся 0.0794 сек.
tslib_feUserAuthСкрипт выполнялся 0.0871 сек.
tslib_feUserAuth_endСкрипт выполнялся 0.0871 сек.
TSpagegenСкрипт выполнялся 0.2831 сек.
TSpagegen_endСкрипт выполнялся 0.2846 сек.
tslib_cObjСкрипт выполнялся 0.2975 сек.
tslib_cObj_endСкрипт выполнялся 0.2975 сек.
index_ts_from_typo3_systext_endСкрипт выполнялся 0.3208 сек.
2) При повторном обращении к странице (кэш уже записан):
index.phpСкрипт выполнялся 0.0000 сек.
index_ts_from_typo3_systextСкрипт выполнялся 0.0008 сек.
tslib_feСкрипт выполнялся 0.0689 сек.
tslib_fe_endСкрипт выполнялся 0.0689 сек.
tslib_feUserAuthСкрипт выполнялся 0.0769 сек.
tslib_feUserAuth_endСкрипт выполнялся 0.0770 сек.
index_ts_from_typo3_systext_endСкрипт выполнялся 0.1695 сек.
Как видно из данного примера, результаты, между рабочим сайтом и одним единственным словом Hi во FE, как то не сильно различаются…
Интересно, это у меня одного, все так долго или это нормальная ситуэшн?
А у немцев и датчан разве в UTF-8 нет двухбайтовых символов? Посмотрел на http://www.punkt.de/de.html, символ ü двухбайтовый вроде бы
А у немцев и датчан разве в UTF-8 нет двухбайтовых символов? Посмотрел на http://www.punkt.de/de.html, символ ü двухбайтовый вроде бы
UTF-8 - есть и это же хорошо.
По идее она у Всех отображается...
Вот что странно:
Если размер страницы = 144.64 Kb (видно, что страница грузится не мгновенно - картинок очень много, но они маленькие).
0.65733 second
Если размер страницы = 33.99 Kb - 0.16612 second
Как бы я хочу что бы сайт у меня летал... мгновенно.
Весь в - 0.16612 second
Вот что странно:
Если размер страницы = 144.64 Kb (видно, что страница грузится не мгновенно - картинок очень много, но они маленькие).
0.65733 second
Если размер страницы = 33.99 Kb - 0.16612 second
Ведь что интересно, в принципе посмотрел исходники, и даже нашел по мелочам, что от туда можно вырезать, всякие jump-url, be-login, и еще есть там парочку не представляющих интерес моментов - но они в плане выигрыша дают - 2-3% не больше. Все они большинство кидают итоговый HTML-код страницы по кругу через замену строки и регулярные выражения.
Но что еще там можно выбить...
Больше всего мне эта тема сейчас интересна в TYPO3 (ну и FLUID, как оказалось надо изучать..., но это отдельно)...
У TYPO3 стандартно есть два способа кэширования (и надо сказать это довольно неплохие механизмы кэширования),
1. cHash
2. useCashHash
+ все это стандартное кэширование можно поставить на разные драйвера БД (по умолчанию), Memcache, файлы, Accelerator
3-тий тот, который кто как изобретет.
Но это не меняет положение вещей, по скорости, т.к. все равно 3-тий будет работать либо в 1-ом, либо во-2 ом...
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot