Page 1 of 2

2000 страниц контента => Fatal error: Allowed memory

Posted: Mon Jan 04, 2010 10:26 am
by dexel
Итак, контента под 2000 страниц. Фронтенд работает. В админке, при попытке открыть секцию Content - отваливается :
Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 184905 bytes) in /var/www/cmsms166/lib/classes/class.contentoperations.inc.php on line 569
Что-й-то не понятно. Есть подозрение, что для того, чтобы вывести 20 строк (ну 40) с названиями страниц контента и некоторыми properties, создатели cmsms выворачивают весь контент.
Есть варианты у кого-нить?

PS : Кто-то хаял Joomla за нагрузку на сервант...

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Sun Jan 10, 2010 5:27 pm
by dexel
Второй движок упал. Также ядро 1.6.6. Ситуация та же, кол-во страниц:
select count(*) from content;
count
-------
    44

Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 24 bytes) in /var/www/ms166/lib/Tree/Tree.php on line 822
Call Stack
# Time Memory Function Location
1 0.0123 875024 {main}( ) ../listcontent.php:0
2 0.8669 17487928 CmsObject->GetHierarchyManager( ) ../listcontent.php:1247
3 0.8922 18823296 ContentOperations->GetAllContentAsHierarchy( ) ../class.global.inc.php:334
4 1.0434 19627704 Tree->createFromList( ) ../class.contentoperations.inc.php:561
5 1.3616 25160552 Tree_NodeCollection->addNode( ) ../Tree.php:317
6 1.3616 25160552 Tree_Node->setTree( ) ../Tree.php:838

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Sun Jan 10, 2010 8:06 pm
by replytomk3
2000 страниц? По моему, все что другие скажут будет что нужна оптимизация.

Я бы поговорил с hosting насчет ресурсов сервера, возможно также необходимость перехода на сервер с меньшей нагрузкой или больше ресурсов.

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Mon Jan 11, 2010 1:28 pm
by dexel
Второй пост, там 44 страницы.
И тоже движок 1.6.6
PS. Чтобы окрылось редактирование контента, нужно 120М !!!  110 - мало  >:(

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Mon Jan 11, 2010 2:47 pm
by replytomk3
dexel wrote: PS. Чтобы окрылось редактирование контента, нужно 120М !!!  110 - мало   >:(
?????

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Thu Jan 14, 2010 12:25 am
by dexel
Самое жуткое то, что память растёт монотонно. Т.е. не поймать какую-то одну функцию. Все по чуть-чуть, но в районе менеджера хиерархии, там где класс Tree :(

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Thu Jan 14, 2010 1:07 am
by replytomk3
Reinstall CMSMS.

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Fri Jan 15, 2010 1:10 am
by dexel
С такими советами - на форумы microsoft.com  >:( . Это не винда!

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Fri Jan 15, 2010 2:27 am
by replytomk3
Тогда нужно намного больше информации

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Fri Jan 15, 2010 10:03 am
by dexel
В аттаче конфиг.
А вот тут вывод дебагера в режиме вывода списка страниц (нажали вкладку Content)
http://vizitpg.lubava35.locum.ru/listcontent-php-debug.txt объём лога 15М
Дебагер был включен в функции list_all_content()
перед фрагментом:

Code: Select all

$hierManager =& $gCms->GetHierarchyManager();
и выключен тут:

Code: Select all

$headoflist .= '<div class="pageoverflow"><p class="pageoptions">';....
Кеш страниц хоть включен, хоть выключен - без разницы.
Потребление памяти = 120М.

Ограничиваю в конфиге php_memory_limit до 90М. При этом картина такая:

Code: Select all

# Time Memory Function Location
1 0.0001 91184 {main}( ) ../index.php:0
2 0.3837 15162048 Smarty->fetch( ) ../index.php:325
3 0.4026 15248880 include( '/media/web/madesimple/tmp/templates_c/%%0B^0B7^0B75F561%%tpl_body%3A4.php' ) ../Smarty.class.php:1283
4 0.4028 15248880 smarty_cms_function_menu( ) ../%%0B^0B7^0B75F561%%tpl_body%3A4.php:67
5 0.4028 15248880 cms_module_plugin( ) ../function.menu.php:22
6 0.4031 15289896 CMSModule->DoActionBase( ) ../module.functions.php:146
7 0.4042 15290216 CMSModule->DoAction( ) ../class.module.inc.php:1566
8 0.4085 15366632 include( '/media/web/madesimple/modules/MenuManager/action.default.php' ) ../class.module.inc.php:1530
9 0.4616 16435968 MenuManager->GetChildNodes( ) ../action.default.php:163
10 8.2395 88066336 MenuManager->FillNode( ) ../MenuManager.module.php:191
11 8.2398 88070408 Tree_Node->hasChildren( ) ../MenuManager.module.php:229
12 8.2398 88071016 Tree_Node->getContent( ) ../Tree.php:642
13 8.2398 88072016 Tree_Node->getChildren( ) ../Tree.php:435
14 8.2399 88079464 ContentOperations->LoadChildrenIntoTree( ) ../Tree.php:674
15 8.2890 89878600 ContentOperations->CreateNewContent( ) ../class.contentoperations.inc.php:635
16 8.2891 89884040 Content->Content( ) ../class.contentoperations.inc.php:73
17 8.2891 89884040 ContentBase->ContentBase( ) ../Content.inc.php:30
18 8.2892 89888072 Content->SetProperties( ) ../class.content.inc.php:199
19 8.2892 89888072 ContentBase->SetProperties( ) ../Content.inc.php:48
20 8.2893 89895728 ContentBase->AddBaseProperty( ) ../class.content.inc.php:254

БД: Postgres-8.3
php-5.2.4

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Sun Jan 17, 2010 5:57 pm
by dexel
Естественно, в ответ тишина  ;)

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Wed Jan 20, 2010 3:30 pm
by anort
У меня пара вопросов.
1. На каком хостинге находятся движки: виртуальном или vps?
2. 2000 страниц это как? Без разбиения на разделы, без применения каких-либо модулей типа Новости, фотогалерея и т.п.? Что-то я слабо представляю себе сайт с 2000 страниц без единого раздела или подраздела...

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Thu Jan 21, 2010 11:38 pm
by dexel
На движке, который 2000 страниц - та куда его на хост. Он бензин жрёт не оправдано. Работает на локали. И света белого никогда не увидет.
А структуру контента - в аттач положил.
Про модуль news там можно забыть. Он вызывается на трёх страницах.


Второй движок, в котором 60 страниц уже (было 44), - не интересовался у хостера. На виртуалку не похож. Хотя на Unix можно что угодно натворить, что мать родная не узнает. И что рута не дали, это не критерий оценки. И что соседей в базе вижу - тоже ни о чем не говорит.

PS. Модуль news вообще работает как часы потому, что не юзает менеджер хиерархии.

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Fri Jan 22, 2010 3:33 pm
by dexel
59 страниц контента и:
Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 7 bytes) in /media/web/webproject/lib/classes/class.content.inc.php on line 1793

Здесь уровень вложенности максимальный = 2

select count(*) from content;
count
-------
    59


Вопросов наверное уже нет ни у кого

Сейчас намечается проект, в котором уровень вложенности будет до 10. И контента - ДЕСЯТКИ ТЫСЯЧ страниц.
И теперь учитывая всё содержимое этого топика..... Вывод таков: не использовать функционал 'Контент' для хранения контента.
И фатальный вариант....

Re: 2000 страниц контента => Fatal error: Allowed memory

Posted: Fri Jan 22, 2010 9:15 pm
by anort
Насколько я понял, оба движка сидят на Postgres. Может, дело в СУБД?