Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Насколько быстро может работать Bitrix?

00 голосов
4
Скажите, на что больше всего тратится время работы скриптов при создании страницы?

У меня все компоненты закешированы (если поставить $DBDebugToFile = true; то в логе видно что запросов нету).

Следовательно, все время работы система тратит только на работу с php файлами.

Страница генерируется 0,15 сек.
Вроде-бы быстро, но я хочу еще быстрее. Главная страница сайта bitrix.ru и то быстрее генерируется.

Моя конфигурация:
Версия "Старт", страница на которой парочка простых компонент: меню с 5-ю разделами и поиск по сайту. Комп = 2-х ядерный pentuim и 1gb оперативки. Bitrix Environment.

Вопрос:
На что больше всего тратится времени? на выполнение include? на выполнение самих скриптов?
Вроде раз запросов нету, то все должно летать.

Реально ли достичь 0,05 сек генерации страницы на моей конфигурации?


При html кешировании страницы показываются моментально.
Может какие-то настройки в сервере нужно проделать, или дело в процессоре? а может в оперативке?
Как заставить Битрикс летать? Ведь совсем нету запросов к базе данных!
спросил 20 Янв, 14 от Perfekt (220 баллов)

4 Ответы

00 голосов
Цитата
Иван Левый пишет:
Bitrix Environment.


Какая версия? убедитесь, что у вас новая версия 1.1 Битрикс Окружения, мы в ней существенно ускорили работу продукта.

Или сделайте сами ряд советов:
http://dev.1c-bitrix.ru/community/webdev/user/8/blog/610/
http://dev.1c-bitrix.ru/community/webdev/user/8/blog/593/

Попробуйте так же меню кэшировать, не ставьте зависимость от групп пользователей.
http://dev.1c-bitrix.ru/community/blogs/rsv-dev/641.php

Цитата
Иван Левый пишет:
Реально ли достичь 0,05 сек генерации страницы на моей конфигурации?


Я думаю возможно.
ответил 12 Май, 14 от oriona (180 баллов)
00 голосов
Да, Иван, для клиентов работает закрытый форум. Лучше обсуждать вопросы там, советы будут по делу.
ответил 07 Сен, 14 от oriona (180 баллов)
00 голосов
Цитата
Sergey Rizhikov пишет:
работает закрытый форум.


Я думал это клиентский :)

Тему можно перенести.

Поставил последнее обновление, там где кеширование в меню.
Страница стала грузиться 0,075 - 0,08 сек.

Проверил, если поставить просто пустой шаблон в header.php и footer.php то страница генерируется за 0,065

Впринципе результат хороший, но хочется 0,05 :)

Окружение 1.1

Пойду дальше искать узкие места.
ответил 14 Янв, 15 от Perfekt (220 баллов)
00 голосов
Точно, это гостевой. Промазал по кнопке когда тему создавал.

Интересное наблюдение:


Заметил что мой компонент на странице выполняется 0,02 сек.
А это огромное время, если я хочу достичь 0,05 :)

Начал искать, где же я напортачил. Компонент то мой тоже кешируется, и запросов не делает.
Оказывается, инструкция:

Код
if(!CModule::IncludeModule("iblock"))
{
   ShowError(GetMessage("IBLOCK_MODULE_NOT_INSTALLED"));
   return;
}


выполняется 0,018 сек.
Проверил так:

Код
// Засекаем время
list ($frac, $sec) = explode (" ", microtime());
define ("MY_START_TIME", $frac + $sec);
if(!CModule::IncludeModule("iblock"))
{
   ShowError(GetMessage("IBLOCK_MODULE_NOT_INSTALLED"));
   return;
}
// Выводим время
list ($frac, $sec) = explode (" ", microtime());
echo "<br />".round (($frac + $sec) - MY_START_TIME, 15);



В то время как ниже идет вызов:

Код
if(!CModule::IncludeModule("mytools"))
{
   ShowError("Модуль mytools не установлен");
   return;
}


и он выполняется 6.3180923462E-5 сек. :)

Согласен, модуль инфоблоков крутой. Но все-таки слишком он уж много делает чтобы проверить подключен он или нет.
В конце концов можно после подключения определить константу define("IBLOCK_MODULE_INCLUDED", true), и определять будет моментально.

Тему таки желательно перенести в клиентский форум :_)
ответил 30 Апр, 15 от Perfekt (220 баллов)

Похожие вопросы

0 голосов
0 ответов
спросил 08 Ноя, 13 от RFO41 (180 баллов)
0 голосов
2 ответов
0 голосов
4 ответов
0 голосов
1 ответ