-
- 2,113 Posts
Так как очень много разговором о том, что при большой нагрузке MODx ломается, решил проверить самостоятельно, как выдерживает нагрузку версия MODx 1.0.0. Создал сайт из 30000 (тридцати тысяч) страниц и посмотрел, как он работает. Результат оказался положительным – замедление работы незначительное, по сравнению с тем же сайтом из одной страницы скорость упала в два-три раза, что мне кажется вполне приемлемым результатом для такого количества страниц. Однако при этом в настройках PHP пришлось установить memory_limit = 128M, а при меньшем объеме памяти возникали ошибки. Также ошибки были при использовании Wayfinder без ограничения на количество элементов меню. Также проблемы могут быть с phx, который плохо справляется с большой нагрузкой, а используется теперь и в ajaxsearch. Попытка поиска фразы, имеющейся на всех 30000 страницах, привела к отказу в работе phx. В административной части сайта замедления практически нет, все работает нормально.
В целом, как мне кажется, текущая версия MODx неплохо справляется с большим количеством страниц, но если потребуется создавать такой сайт в действительности, надо будет внимательно подходить к используемым сниппетам и, возможно, потребуется более мощный хостинг.
-
- 1,103 Posts
Сейчас делаю проект на 1.0 с множеством вложений + теги. Ditto и Phx используется. Аппетит конечно не такой суровый, около 3000-5000 документов.
Но видимо тариф на хостинге придется менять на больший (у мастерхост).
-
- 271 Posts
1. А какой размер имеет siteCache.idx.php при 30000 страниц?
2. Не проще ли данные хранить и получать из базы данных, а не из siteCache.idx.php?
-
- 2,113 Posts
Quote from: elastic at Aug 25, 2009, 10:30 AM
1. А какой размер имеет siteCache.idx.php при 30000 страниц?
Размер 3,7 МБ, основная часть приходится на массивы $a, $d и $m (при работе MODx массивы aliasListing, documentListing и documentMap). Вопрос не в том, хранить их в файле или нет, а в том, хранить их в памяти или в базе. Наверное, в некоторых случаях хранение в памяти существенно ускоряет работу, но при больших объемах памяти расходуется очень много.
-
- 2,113 Posts
Если кто-то захочет тоже создать базу из множества документов, рассказываю, как я это сделал.
1. Беру за основу сайт с одной страницей, полученный после установки MODx (без тестового сайта).
2. Делаю копию документа.
3. В копии меняю родителя на предыдущий документ.
4. Повторяю несколько раз, в результате получается вложенное дерево из четырех-пяти уровней, в каждом из которых только один документ.
5. В самом нижнем уровне делаю штук десять (или больше) копий страницы, оставляя того же родителя.
6. В предыдущем уровне делаю штук десять копий – каждый раз создается по сотне документов.
7. В предыдущем уровне делаю штук пять копий – каждый раз создается по тысяче документов.
8. В предыдущем уровне делаю нужное количество копий, проверяя, когда сайт сломается. В процессе работы меняю шаблон, чтобы меню не строилось по всем уровням.
9. С помощью Doc Manager ставлю флаг публикации на всех документах (может быть, лучше это делать при добавлении каждой порции).
-
- 26 Posts
А что будет если еще добавить порядка 5-10 TV параметров?
-
- 2,113 Posts
Quote from: Valeen at Aug 28, 2009, 07:40 AM
А что будет если еще добавить порядка 5-10 TV параметров?
Не пробовал - можете попробовать сами и написать о полученных результатах.
-
- 157 Posts
3000 страниц, а сколько при этом пользователей онлайн?
Скажите, у кого есть данные по работе сайта при больших нагрузках (от 5к пользователей одновременно) - как справляется Modx1.0?
-
- 2,113 Posts
Quote from: sergil at Oct 06, 2009, 12:52 PM
от 5к пользователей одновременно
5000 одновременно – это сколько же в день? И что это за проект, где такая посещаемость?
Чтобы поддерживать больше пользователей, надо больше памяти на сервере, чтобы запускать параллельные процессы, а также быстрее генерировать веб-страницы. Скорость генерации страниц зависит от мощности сервера, его настроек, особенностей построения сайта и особенностей MODx, причем последнее совсем не самое главное.
Кстати, я попробовал много страниц с пятью параметрами TV каждая – результат остался примерно таким же. Основное – растет не время выполнения скриптов, а потребляемая память. Чтобы остаться в пределах 16 мегабайт, можно работать примерно с 5000 страниц. При этом обязательно надо исправить Wayfinder (на форуме писалось как), и все будет нормально работать.