Page 2 of 2
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Fri Jan 22, 2010 9:33 pm
				by anort
				Например, у нас уже примерно 80 страниц контента и никаких глюков. Кстати, если не секрет, где можно узнать точное количество страниц? или для этого надо дополнительный код писать?
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Mon Feb 01, 2010 9:24 pm
				by dexel
				Ни каких глюков не видите потому, что изначально в конфиге установлена переменная
$config['php_memory_limit'] = '';
что означает - нет лимита.
Прикол весь в том, что при этом вы не видите визуально, сколько жрёт движок. Проблемы начинаются тогда, когда хостер вам присылает сообщение о том, что ваш лимит превышает допустимый в вашем тарифном плане. В продолжении письма - как правило написано, что если в течение 3-х дней вы не решите проблему, то вас отключат. Ещё могут предложить другой тарифный план  

 , который будет как правило дороже 

Ну ещё можно посматривать в сырой код генерируемой страницы, в котором внизу отображаются циферки потребляемых ресурсов. Это если вы предварительно не отключили их в конфиге. Изначально эта индикация включена.
А узнать сколько реально страниц контента у вас так:
SELECT count(*) FROM content;
 
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Mon Feb 01, 2010 9:33 pm
				by dexel
				anort wrote:
Насколько я понял, оба движка сидят на Postgres. Может, дело в СУБД?
Совершенно верно, оба движка на Postgess. Но база не причем. Нашел я. Жрал ресурс MenuManager - это во фронтенде. Опять же по причине того, что юзает он hierarchyManager. И этот менеджер иерархии при сборке дерева набирает бешенный объём.
И к стати о птичках. Все молчат, что 
MadeSimple не предназначена для проектов выше среднего!!!
У меня например сайт-визитка 60 страниц. И уже жрёт не хило 

 
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Tue Feb 02, 2010 12:45 am
				by replytomk3
				dexel wrote:
И к стати о птичках. Все молчат, что 
MadeSimple не предназначена для проектов выше среднего!!!
У меня например сайт-визитка 60 страниц. И уже жрёт не хило 
 
Во первых, не молчим. Во вторых, не можем всем пихать Drupal и Joomla. В третьих, на хорошем хостинге (США) проблем не возникает. С чем ты сравниваешь, static HTML?
 
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Wed Feb 03, 2010 11:00 pm
				by KARENNN
				У меня на 
www.abm-tools.ru около 270 страниц и все нормально пашет
 
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Fri Feb 12, 2010 3:07 pm
				by dexel
				Если в конфиге занулить лимит
как это сделано по умолчанию, то и 2000 моих страниц не будут давать о себе знать. Как Ваши 270.
Второе - человек сказал, что "не молчим" - значит согласен.
И третье.
Когда хостер напишет, что-то вида
"Ваш ресурс исчерпал отведённый вам лимит памяти PHP", то будет поздно. Уже писал об этом.
Кто там спросил с чем сравниваю???? С тем что 
спроектировано правильно, только возились с ним долго - Портал, на чистом PHP написан, без ООП, база на KOI-8, вообще без использования сторонних библиотек. На сервере Apache 1.3, гворит о чем-то? Там - миллионы страниц контента! И бегает нормально. Его потребляемый ресурс PHP не зависит от колличества страниц контента!
Т.е. качественно сделан. А это сейчас призерается, поэтому юзаем CMSMS.
PS. Нужно проблемы решать, а не закрывать. Типа как через конфиг.
Вообще - 2 страницы на форуме занято, и хоть бы один пост был полезным. Трата времени, извиняюсь.
 
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Mon Feb 15, 2010 6:57 pm
				by legko
				dexel wrote:
Совершенно верно, оба движка на Postgess. Но база не причем. Нашел я. Жрал ресурс MenuManager - это во фронтенде. Опять же по причине того, что юзает он hierarchyManager. И этот менеджер иерархии при сборке дерева набирает бешенный объём.
Что-то я не понял, ну модуль жрал память... а решение-то нашлось или так просто побазарили-поумничали?
У меня такая же фигня, но с одним "НО".
Если я в админку захожу 
пользователем admin - то все в порядке, 
а если захожу пользователем с ограниченными правами то , пишет:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 262685 bytes) in /home/public_html/admin/listcontent.php on line 1070
Контента - немного более, чем 100 страниц
*******************************
ну вобщем проблему решил пока так:
1. Отключил модуль SiteMapMadeSimple
2. Отключил модуль CGExtensions
Пока работает.
Вот результат: 
 
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Thu Feb 25, 2010 10:02 pm
				by dexel
				А, нет 
legko, решение не нашлось. 2 страницы форума пустой болтовни - просто надоело.
 Выкинул я вызовы менеджера хиерархии из MenuManager. И потом пару прямых запросов к базе из action.default.php для формирования менюхи. Это всё. Решение скорее аварийное было. И выходом из положения это не назовёшь.
 А вот админка... тот самый listcontent.php который - там жуть. И дело осложняется тем, что Ajax, и права почекрыженные. Т.е. шаг влево, шаг вправо - и он падает, xajax в смысле. Сейчас работаем над этим. Но на моём форуме - там флуд не льют.
 А тут могу сказать одно - нужно переписывать функцию 
display_hierarchy(). И скорее не переписывать, а выкинуть и писать заново  

  Вот:
Code: Select all
    0.7855   25362056       -> Tree->getChildren() /media/web/madesimple/admin/listcontent.php:1051
    0.7856   25362368       -> check_modify_all() /media/web/madesimple/admin/listcontent.php:1053
    0.7856   25362632         -> check_permission() /media/web/madesimple/admin/listcontent.php:47
    0.7856   25363288           -> CmsObject->GetUserOperations() /media/web/madesimple/lib/page.functions.php:289
    0.7857   25363488           -> UserOperations->UserInGroup() /media/web/madesimple/lib/page.functions.php:290
    0.7857   25363552           -> in_array() /media/web/madesimple/lib/page.functions.php:299
    0.7864   25625384       -> display_hierarchy() /media/web/madesimple/admin/listcontent.php:1053
    0.7865   25629920         -> Tree_Node->getChildren() /media/web/madesimple/admin/listcontent.php:583
    0.7865   25630176           -> Tree_Node->hasChildren() /media/web/madesimple/lib/Tree/Tree.php:666
    0.7865   25629904         -> Tree_Node->getContent() /media/web/madesimple/admin/listcontent.php:584
PS. Что же касается упомянутого тобой модуля CGExtension - он наверное больше жрёт чем 5 лысых движков MadeSimple. А SiteMapMadeSimple есть у меня, но переписанный, без CGExtension.
 
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Fri Feb 26, 2010 7:08 am
				by legko
				ну вот приблизительные цифры:
120 страниц контента при выдаче листинга в админке сжирают приблизительно 40 Мб оперативы.
Мне хостер разрешил php.ini редактировать, так я по 1Мб в memory_limit добавлял, пока остановился на 40 Мб.
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Fri Feb 26, 2010 10:35 am
				by dexel
				На движке, котором 60 страниц контента - всё стало на свои места. Причем делал абсолютно другое, и взаимосвязи не вижу абсолютно. Вобщем ставил Sphinx:
Модуль Search - полностью вывернул его содержимое в помойку. Вставил туда Сфинкс.
Модуль News - небольшие изменения для того, чтобы в результатах поиска выводились категории Новостей(ссылки на них).
и какой-то маленький патч в ядре, забыл.
Теперь при 60 страницах контента: 22Мб в listcontent и 16М во фронтенде (там ManagerMenu родной).
А вот втором движке 126М в listcontent:
15.210816 / 92 / 
98517600 / 
126183568
На ltree есть желающие перевести?
http://www.postgresql.org/docs/8.3/static/ltree.html 
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Thu Apr 07, 2011 4:01 pm
				by materok
				dexel wrote:А, нет 
legko, решение не нашлось. 2 страницы форума пустой болтовни - просто надоело.
 Выкинул я вызовы менеджера хиерархии из MenuManager. И потом пару прямых запросов к базе из action.default.php для формирования менюхи. Это всё. Решение скорее аварийное было. И выходом из положения это не назовёшь.
 А вот админка... тот самый listcontent.php который - там жуть. И дело осложняется тем, что Ajax, и права почекрыженные. Т.е. шаг влево, шаг вправо - и он падает, xajax в смысле. Сейчас работаем над этим. Но на моём форуме - там флуд не льют.
 А тут могу сказать одно - нужно переписывать функцию 
display_hierarchy(). И скорее не переписывать, а выкинуть и писать заново  

  Вот:
Code: Select all
    0.7855   25362056       -> Tree->getChildren() /media/web/madesimple/admin/listcontent.php:1051
    0.7856   25362368       -> check_modify_all() /media/web/madesimple/admin/listcontent.php:1053
    0.7856   25362632         -> check_permission() /media/web/madesimple/admin/listcontent.php:47
    0.7856   25363288           -> CmsObject->GetUserOperations() /media/web/madesimple/lib/page.functions.php:289
    0.7857   25363488           -> UserOperations->UserInGroup() /media/web/madesimple/lib/page.functions.php:290
    0.7857   25363552           -> in_array() /media/web/madesimple/lib/page.functions.php:299
    0.7864   25625384       -> display_hierarchy() /media/web/madesimple/admin/listcontent.php:1053
    0.7865   25629920         -> Tree_Node->getChildren() /media/web/madesimple/admin/listcontent.php:583
    0.7865   25630176           -> Tree_Node->hasChildren() /media/web/madesimple/lib/Tree/Tree.php:666
    0.7865   25629904         -> Tree_Node->getContent() /media/web/madesimple/admin/listcontent.php:584
PS. Что же касается упомянутого тобой модуля CGExtension - он наверное больше жрёт чем 5 лысых движков MadeSimple. А SiteMapMadeSimple есть у меня, но переписанный, без CGExtension.
 
Здравствуйте. У меня такая же проблемма( Страниц примерно столько же. Виртуальник скоро упадет.. Время загрузки страницы - 14 секунд!))) меня ни один робот не дождется))) Подскажите как решили эту проблемму?
 
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Fri Apr 08, 2011 6:33 am
				by materok
				Кто-нибудь подскажет как решить эту проблемму с меню?
dexel wrote:На движке, котором 60 страниц контента - всё стало на свои места. Причем делал абсолютно другое, и взаимосвязи не вижу абсолютно. Вобщем ставил Sphinx:
Модуль Search - полностью вывернул его содержимое в помойку. Вставил туда Сфинкс.
Модуль News - небольшие изменения для того, чтобы в результатах поиска выводились категории Новостей(ссылки на них).
и какой-то маленький патч в ядре, забыл.
Теперь при 60 страницах контента: 22Мб в listcontent и 16М во фронтенде (там ManagerMenu родной).
А вот втором движке 126М в listcontent:
15.210816 / 92 / 
98517600 / 
126183568
На ltree есть желающие перевести?
http://www.postgresql.org/docs/8.3/static/ltree.html 
 
			 
			
					
				Re: 2000 страниц контента =>  Fatal error: Allowed memory
				Posted: Sat Apr 16, 2011 4:49 am
				by dexel
				materok wrote:dexel wrote:А, нет 
legko, решение не нашлось. 2 страницы форума пустой болтовни - просто надоело.
 Выкинул я вызовы менеджера хиерархии из MenuManager. И потом пару прямых запросов к базе из action.default.php для формирования менюхи. Это всё. Решение скорее аварийное было. И выходом из положения это не назовёшь.
 А вот админка... тот самый listcontent.php который - там жуть. И дело осложняется тем, что Ajax, и права почекрыженные. Т.е. шаг влево, шаг вправо - и он падает, xajax в смысле. Сейчас работаем над этим. Но на моём форуме - там флуд не льют.
 А тут могу сказать одно - нужно переписывать функцию 
display_hierarchy(). И скорее не переписывать, а выкинуть и писать заново  

  Вот:
Code: Select all
    0.7855   25362056       -> Tree->getChildren() /media/web/madesimple/admin/listcontent.php:1051
    0.7856   25362368       -> check_modify_all() /media/web/madesimple/admin/listcontent.php:1053
    0.7856   25362632         -> check_permission() /media/web/madesimple/admin/listcontent.php:47
    0.7856   25363288           -> CmsObject->GetUserOperations() /media/web/madesimple/lib/page.functions.php:289
    0.7857   25363488           -> UserOperations->UserInGroup() /media/web/madesimple/lib/page.functions.php:290
    0.7857   25363552           -> in_array() /media/web/madesimple/lib/page.functions.php:299
    0.7864   25625384       -> display_hierarchy() /media/web/madesimple/admin/listcontent.php:1053
    0.7865   25629920         -> Tree_Node->getChildren() /media/web/madesimple/admin/listcontent.php:583
    0.7865   25630176           -> Tree_Node->hasChildren() /media/web/madesimple/lib/Tree/Tree.php:666
    0.7865   25629904         -> Tree_Node->getContent() /media/web/madesimple/admin/listcontent.php:584
PS. Что же касается упомянутого тобой модуля CGExtension - он наверное больше жрёт чем 5 лысых движков MadeSimple. А SiteMapMadeSimple есть у меня, но переписанный, без CGExtension.
 
Здравствуйте. У меня такая же проблемма( Страниц примерно столько же. Виртуальник скоро упадет.. Время загрузки страницы - 14 секунд!))) меня ни один робот не дождется))) Подскажите как решили эту проблемму?
 
Относительно SiteMapMadeSimple - переписал модуль, чтобы выбросить CGExtension. Конечно удалил CGExtension.
А что же касается поглощением памяти страницами контента в админке, то перевёл на 
ltree и вывернул напроч ООП из admin/listcontent.php и editcontent. И некоторые фрагменты по всей CMS. Серьёзная доработка...
Это 
ltree есть только на PostgreSQL. Думаю что только.
Т.е. один запрос в 5 строк примерно получился в listcontent.php. Красотой конечно не блещет, и с правами админов там вроде как не всё разрешилось было. Но во всяк случае уже в админке того бешенного потребления нет. И на 2000 страниц бегает нормально.
Еще выдернул ООП (это зло) из MenuManagerа, т.к. там тоже вызывается HierarchyManager.
Вроде всё. Там живого места от CMSMS не осталось 
