2000 страниц контента => Fatal error: Allowed memory
2000 страниц контента => Fatal error: Allowed memory
Итак, контента под 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 за нагрузку на сервант...
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
Второй движок упал. Также ядро 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
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
Last edited by dexel on Sun Jan 10, 2010 6:05 pm, edited 1 time in total.
Re: 2000 страниц контента => Fatal error: Allowed memory
2000 страниц? По моему, все что другие скажут будет что нужна оптимизация.
Я бы поговорил с hosting насчет ресурсов сервера, возможно также необходимость перехода на сервер с меньшей нагрузкой или больше ресурсов.
Я бы поговорил с hosting насчет ресурсов сервера, возможно также необходимость перехода на сервер с меньшей нагрузкой или больше ресурсов.
Re: 2000 страниц контента => Fatal error: Allowed memory
Второй пост, там 44 страницы.
И тоже движок 1.6.6
PS. Чтобы окрылось редактирование контента, нужно 120М !!! 110 - мало
И тоже движок 1.6.6
PS. Чтобы окрылось редактирование контента, нужно 120М !!! 110 - мало

Re: 2000 страниц контента => Fatal error: Allowed memory
?????dexel wrote: PS. Чтобы окрылось редактирование контента, нужно 120М !!! 110 - мало >:(
Re: 2000 страниц контента => Fatal error: Allowed memory
Самое жуткое то, что память растёт монотонно. Т.е. не поймать какую-то одну функцию. Все по чуть-чуть, но в районе менеджера хиерархии, там где класс Tree 

Re: 2000 страниц контента => Fatal error: Allowed memory
С такими советами - на форумы microsoft.com
. Это не винда!

Re: 2000 страниц контента => Fatal error: Allowed memory
Тогда нужно намного больше информации
Re: 2000 страниц контента => Fatal error: Allowed memory
В аттаче конфиг.
А вот тут вывод дебагера в режиме вывода списка страниц (нажали вкладку Content)
http://vizitpg.lubava35.locum.ru/listcontent-php-debug.txt объём лога 15М
Дебагер был включен в функции list_all_content()
перед фрагментом:
и выключен тут:
Кеш страниц хоть включен, хоть выключен - без разницы.
Потребление памяти = 120М.
Ограничиваю в конфиге php_memory_limit до 90М. При этом картина такая:
БД: Postgres-8.3
php-5.2.4
А вот тут вывод дебагера в режиме вывода списка страниц (нажали вкладку 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
php-5.2.4
- Attachments
-
[The extension txt has been deactivated and can no longer be displayed.]
Last edited by dexel on Sat Jan 16, 2010 12:34 pm, edited 1 time in total.
Re: 2000 страниц контента => Fatal error: Allowed memory
Естественно, в ответ тишина 

Re: 2000 страниц контента => Fatal error: Allowed memory
У меня пара вопросов.
1. На каком хостинге находятся движки: виртуальном или vps?
2. 2000 страниц это как? Без разбиения на разделы, без применения каких-либо модулей типа Новости, фотогалерея и т.п.? Что-то я слабо представляю себе сайт с 2000 страниц без единого раздела или подраздела...
1. На каком хостинге находятся движки: виртуальном или vps?
2. 2000 страниц это как? Без разбиения на разделы, без применения каких-либо модулей типа Новости, фотогалерея и т.п.? Что-то я слабо представляю себе сайт с 2000 страниц без единого раздела или подраздела...
Re: 2000 страниц контента => Fatal error: Allowed memory
На движке, который 2000 страниц - та куда его на хост. Он бензин жрёт не оправдано. Работает на локали. И света белого никогда не увидет.
А структуру контента - в аттач положил.
Про модуль news там можно забыть. Он вызывается на трёх страницах.
Второй движок, в котором 60 страниц уже (было 44), - не интересовался у хостера. На виртуалку не похож. Хотя на Unix можно что угодно натворить, что мать родная не узнает. И что рута не дали, это не критерий оценки. И что соседей в базе вижу - тоже ни о чем не говорит.
PS. Модуль news вообще работает как часы потому, что не юзает менеджер хиерархии.
А структуру контента - в аттач положил.
Про модуль news там можно забыть. Он вызывается на трёх страницах.
Второй движок, в котором 60 страниц уже (было 44), - не интересовался у хостера. На виртуалку не похож. Хотя на Unix можно что угодно натворить, что мать родная не узнает. И что рута не дали, это не критерий оценки. И что соседей в базе вижу - тоже ни о чем не говорит.
PS. Модуль news вообще работает как часы потому, что не юзает менеджер хиерархии.
- Attachments
-
[The extension txt has been deactivated and can no longer be displayed.]
Last edited by dexel on Fri Jan 22, 2010 12:04 am, edited 1 time in total.
Re: 2000 страниц контента => Fatal error: Allowed memory
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. И контента - ДЕСЯТКИ ТЫСЯЧ страниц.
И теперь учитывая всё содержимое этого топика..... Вывод таков: не использовать функционал 'Контент' для хранения контента.
И фатальный вариант....
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. И контента - ДЕСЯТКИ ТЫСЯЧ страниц.
И теперь учитывая всё содержимое этого топика..... Вывод таков: не использовать функционал 'Контент' для хранения контента.
И фатальный вариант....
Last edited by dexel on Fri Jan 22, 2010 9:03 pm, edited 1 time in total.
Re: 2000 страниц контента => Fatal error: Allowed memory
Насколько я понял, оба движка сидят на Postgres. Может, дело в СУБД?