Перейти к содержимому


- - - - -

Скорость работы


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 13

#1 blacktop

blacktop

    Активный участник

  • Пользователи
  • PipPipPip
  • 51 сообщений

Отправлено 19.10.2009, 23:51

В версии 1.хх опытным путем я пришел к выводу, что с включенным кэшем максимальное число страниц (при приемлемом быстродействии) - около 1000
Какое число страниц рекомендуется при прочих равных в версии 2.0?

#2 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 20.10.2009, 07:37

Просмотр сообщенияblacktop (19.10.2009, 23:51) писал:

В версии 1.хх опытным путем я пришел к выводу, что с включенным кэшем максимальное число страниц (при приемлемом быстродействии) - около 1000
Какое число страниц рекомендуется при прочих равных в версии 2.0?
Сложно сказать, какое число страниц рекомендуется, т.к. это зависит от разных факторов. Приведу немного цифр, которые были получены во время разработки 2.0 и немного из внутреннего строения движка.

В версии 2.0 вместо кэша используется что-то вроде индекса.

Времени на генерацию индекса в 2.0 требуется значительно больше, чем на создание кэша в 1.х. Памяти будет потребляться меньше, чем в 1.х.

Тестовый сайт на 12 тыс. страниц

12 тыс. страниц это 78Мб текста в папке pages, порядка 4 тыс. тэгов, по 5-10 тэгов на страницу, 40 минут построения индекса, memory_limit=392M, размер индекса 275Мб.

После построения индекса время генерации страницы для 12 тыс. на 2.0 незначительно больше, чем при генерации страниц сайта из 20 страниц. Если у меня генерация страницы занимает 22 мс для 20 страниц, то для 12 тыс. ~ 22-23 мс. Конечно, это зависит от разветвленности структуры сайта и генерируемой страницы сайта.

Даже если на сайте есть отложенные публикации, то добавление их в индекс пройдет автоматически без его полного перестроения. Перестроить индекс потребуется только после добавления/правки старницы вручную (в будущих версиях и это будет упрощено). Так же индекс будет автоматически перестроен при изменении config.ini.

#3 blacktop

blacktop

    Активный участник

  • Пользователи
  • PipPipPip
  • 51 сообщений

Отправлено 23.10.2009, 06:01

а во время построения индекса хостер не ляжет?

#4 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 23.10.2009, 07:47

Просмотр сообщенияblacktop (23.10.2009, 06:01) писал:

а во время построения индекса хостер не ляжет?
Только один процесс в один момент времени проводит переиндексацию. В Zebrum Lite 1.x блокировка отсутствовала и в построении кэша могли "помогать" несколько запущенных процессов (другой пользователь при заходе на сайт, поисковый робот). Т.е. если сравнивать с 1.x, где происходил сброс кэша и повторное его построение каждый час/3 часа/день (в зависимости от настроек), то нагрузка на сервер со стороны Zebrum Lite 2.0 меньше, чем с Zebrum Lite 1.х.

Сама по себе переиндексация может занимать много времени, но она проводится только вручную. Конечно, это требует ресурсов сервера, т.к. PHP-скрипту нельзя сказать - "будь сдержанным, не потребляй очень много процессорного времени" :) Более детально по нагрузке нужно смотреть на конкретном сервере.

Все страницы с будущей датой публикации добавляются в индекс быстро в момент наступления их времени публикации.

В следующих версиях Zebrum Lite мы постараемся сделать процесс индексации итеративным (по 2-5 секунд на итерацию), что позволит распределить нагрузку во времени. В Zebrum CMS при добавлении новых страниц, изменении/удалении существующих переиндексация не запускается, а изменения вносятся сразу в индекс (+файловую версию страниц), т.е. нагрузки практически нет в сравнении с Zebrum Lite 1.х.

#5 JIyka

JIyka

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений

Отправлено 02.12.2009, 16:16

У меня вопрос несколько иного плана. Есть сайт который делался как сателит на Zebrum Lite 2.0, количеством страниц не более 400, но за 3 месяца своего существования посещаемость росла очень быстро и сейчас составляет по статистике LI свыше 2000 чел. в сутки, реально до 4000. С тех пор как посещаемость перевалила за 1000 начались затыки и хостер попросил меня перейти с самого дешевого тарифного плана, на план профи(безлимит)я перешел 2 недели назад, но сайт все равно тормозит, а сегодня вот уже часа 3 как упал. Хочется перед тем как общаться с хостером узнать здесь более точно:
1) способна ли Zebrum Lite работать нормально с такой посещаемостью;
2) если способна, то причины тормозов и падения следует искать на стороне хостера?
3) могут ли флешевые приложения используемые для сайта снижать работоспособность сайта и хостера;

Спасибо.

#6 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 02.12.2009, 16:48

Просмотр сообщенияJIyka (02.12.2009, 16:16) писал:

У меня вопрос несколько иного плана. Есть сайт который делался как сателит на Zebrum Lite 2.0, количеством страниц не более 400, но за 3 месяца своего существования посещаемость росла очень быстро и сейчас составляет по статистике LI свыше 2000 чел. в сутки, реально до 4000. С тех пор как посещаемость перевалила за 1000 начались затыки и хостер попросил меня перейти с самого дешевого тарифного плана, на план профи(безлимит)я перешел 2 недели назад, но сайт все равно тормозит, а сегодня вот уже часа 3 как упал.
Какая версия Zebrum Lite используется? С момента выпуска Zebrum Lite 2.0 прошло полтора месяца (13 октября мы анонсировали Zebrum Lite 2.0). С момента запуска были исправлены некоторые проблемы с производительностью, поэтому рекомендуется использовать последнюю версию (на момент написания ответа это 2.0.3).

Какой хостинг используете?

Просмотр сообщенияJIyka (02.12.2009, 16:16) писал:

Хочется перед тем как общаться с хостером узнать здесь более точно:
1) способна ли Zebrum Lite работать нормально с такой посещаемостью;
Проблем возникать не должно. К сожалению, сайтов с подобными статистическими показателями у нас нету (максимум 1100 хитов в день небольшой по размеру сайт, проблем нету).

Просмотр сообщенияJIyka (02.12.2009, 16:16) писал:

2) если способна, то причины тормозов и падения следует искать на стороне хостера?
Производительность зависит от многих показателей, в том числе и от шаблона (как PHP, так и количества картинок/скриптов). Если Вы пришлете адрес сайта и FTP-доступ к нему на support@zebrum.ru, то я могу посмотреть чем могут быть вызваны проблемы с производительностью сайта.

Просмотр сообщенияJIyka (02.12.2009, 16:16) писал:

3) могут ли флешевые приложения используемые для сайта снижать работоспособность сайта и хостера;
Зависит от того, отправляет ли он запросы на сайт, его размер (за мегабайт и выше) и как он отдается конечным пользователям (апач или nginx). От этого может зависить нагрузка на сервер.

#7 JIyka

JIyka

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений

Отправлено 02.12.2009, 20:08

Спасибо за ответ! Отписал в ЛС. Жду вашего вердикта.

#8 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 02.12.2009, 21:08

Просмотр сообщенияJIyka (02.12.2009, 20:08) писал:

Спасибо за ответ! Отписал в ЛС. Жду вашего вердикта.
У Вас на сайте используется Zebryum Lite 1.1.4.

Более развернуто ответил в личку.

#9 blacktop

blacktop

    Активный участник

  • Пользователи
  • PipPipPip
  • 51 сообщений

Отправлено 10.02.2010, 08:18

Отладку зебры произвожу на Денвере. Подскажите, как можно узнать время формирования страницы, чтобы оптимизировать виджеты, сайдбары и проч.?

К примеру, в своих скриптах я использую такой код:
$mtime=explode(" ",microtime());
$tstart=$mtime[1]+$mtime[0];
...собственно скрипт...
$mtime=explode(" ",microtime());
$tend=$mtime[1]+$mtime[0];
$totaltime=round(($tend-$tstart),2);
echo "<br />Время работы скрипта: ".$totaltime." сек.";

Есть ли возможность вставить его в Зебру? Если да, то в какой именно файл(ы)?

#10 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 10.02.2010, 10:04

Просмотр сообщенияblacktop (10.02.2010, 08:18) писал:

Отладку зебры произвожу на Денвере. Подскажите, как можно узнать время формирования страницы, чтобы оптимизировать виджеты, сайдбары и проч.?

К примеру, в своих скриптах я использую такой код:
$mtime=explode(" ",microtime());
$tstart=$mtime[1]+$mtime[0];
...собственно скрипт...
$mtime=explode(" ",microtime());
$tend=$mtime[1]+$mtime[0];
$totaltime=round(($tend-$tstart),2);
echo "<br />Время работы скрипта: ".$totaltime." сек.";

Есть ли возможность вставить его в Зебру? Если да, то в какой именно файл(ы)?

В index.php, в начале файла:

$mtime = microtime(true);

и в конце файла:

echo "<br />Время работы скрипта" . round((microtime(true) - $mtime) * 1000, 2) . " мс.";


#11 blacktop

blacktop

    Активный участник

  • Пользователи
  • PipPipPip
  • 51 сообщений

Отправлено 10.02.2010, 11:29

Спасибо, только момент в том, что в броузер не отдается это echo (вне тэгов html, body)...
В исходном коде, конечно есть, но каждый раз лазить не комильфо, поэтому и задал вопрос.

#12 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 10.02.2010, 11:38

Просмотр сообщенияblacktop (10.02.2010, 11:29) писал:

Спасибо, только момент в том, что в броузер не отдается это echo (вне тэгов html, body)...
В исходном коде, конечно есть, но каждый раз лазить не комильфо, поэтому и задал вопрос.
Может вопрос в верстке? Я использовал подобный код при разработке, поэтому как минимум в FF он работает.
Можете попробовать выводить в тэге <div style="position:absolute;top:0;left:0;background:#fff;border:1px solid #000;"> </div>

#13 blacktop

blacktop

    Активный участник

  • Пользователи
  • PipPipPip
  • 51 сообщений

Отправлено 10.02.2010, 11:43

Сорри, действительно проглядел - шрифт был одного цвета с фоном.

#14 blacktop

blacktop

    Активный участник

  • Пользователи
  • PipPipPip
  • 51 сообщений

Отправлено 17.06.2010, 14:03

Еще вопрос. Как будет лучше для скорости - выводить подстраницы:
так: указать в pages.txt @@module=zmodule_listpages
или так: при выводе страницы в шаблоне указать <?php z_subpages('sort asc');?>

Насколько отличаются эти способы по скорости и нагрузке на сервер?

Спасибо.




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей