Page 1 of 1

Traag verwerken cgblog artikel

Posted: Thu Jan 03, 2013 6:18 pm
by Gregor
Hallo,

In een andere post heb ik gevraagd om tips voor het laten uitvoeren van het verzenden van een tweet/mail in de nachtelijke uren. Een submit van een artikel gaat al snel richting de 10 seconden. Hiertoe heb ik de debug mode aangezet en daarin vallen mij een paar dingen op. Hier een snapshot uit de 6500 regels die de debug groot is ;)

In mijn eventmanager heb ik staan dat de sitemap en een tweet/mail worden uitgevoerd. Deze worden alleen uitgevoerd bij een submit van een nieuw artikel. Bij het submitten van een bestaand artikel wordt 'alleen' het bijwerken van de sitemap aangeroepen.

Het lijkt erop dat alle field definities en categorieën worden bijgewerkt. Is dit nodig? Ik probeer te doorgronden waarom al die select-statement nodig zijn, wellicht dat iemand van het development team hier iets over kan zeggen.

Dank voor het meedenken!
Gregor
(mysql): INSERT INTO cms_module_search_index (item_id, word, count) VALUES (21483,'zowel',1)
Debug: (0.986689) - (usage: 21466280) - (peak: 21626920)
(mysql): INSERT INTO cms_module_search_index (item_id, word, count) VALUES (21483,'varend',1)
Debug: (0.987175) - (usage: 21466680) - (peak: 21627232)
(mysql): INSERT INTO cms_module_search_index (item_id, word, count) VALUES (21483,'als',1)
Debug: (0.98767) - (usage: 21467080) - (peak: 21627544)
(mysql): INSERT INTO cms_module_search_index (item_id, word, count) VALUES (21483,'lopend',1)
Debug: (0.988198) - (usage: 21467480) - (peak: 21627856)
(mysql): INSERT INTO cms_module_search_index (item_id, word, count) VALUES (21483,'wat',2)
Debug: (0.988509) - (usage: 21404264) - (peak: 21628168)
calling user tag CGBlog_Sitemap from event CGBlogArticleEdited
Debug: (0.989734) - (usage: 21469352) - (peak: 21646584)
Loading /home/efacti/public_html/uisge-beatha.eu/lib/classes/class.usertagoperations.inc.php = 63920 bytes for an approximate total of 5687464
Debug: (0.995446) - (usage: 21471000) - (peak: 21673480)
(mysql): SELECT * FROM cms_userplugins ORDER BY userplugin_name
Debug display of 'Fetch module_db_tpl:SiteMapMadeSimple;xml_UB_Sitemap start':(0.997603) - (usage: 21651296) - (peak: 21810656)
Debug display of 'CMSModuleDbTemplateResource startSiteMapMadeSimple;xml_UB_Sitemap':(0.997927) - (usage: 21659448) - (peak: 21833008)
Debug: (0.999203) - (usage: 21663784) - (peak: 21836600)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'SiteMapMadeSimple' and template_name = 'xml_UB_Sitemap' LIMIT 1
Debug display of 'CMSModuleDbTemplateResource endSiteMapMadeSimple;xml_UB_Sitemap':(0.999518) - (usage: 21663480) - (peak: 21837768)
Debug: (1.094053) - (usage: 25483568) - (peak: 26070960)
Nothing is known about FrontEndUsers... cant load it
Debug display of 'Start Loading Hierarchy Manager':(1.0942) - (usage: 25483944) - (peak: 26070960)
Debug display of 'starting tree':(1.094275) - (usage: 25484280) - (peak: 26070960)
Debug: (1.0948) - (usage: 25485936) - (peak: 26070960)
(mysql): SELECT modified_date FROM cms_content ORDER BY modified_date DESC LIMIT 1
Debug: (1.095028) - (usage: 25485768) - (peak: 26070960)
Content tree file needs loading
Debug: (1.096356) - (usage: 25619176) - (peak: 26070960)
Loading /home/efacti/public_html/uisge-beatha.eu/lib/classes/class.cms_tree.php = 52336 bytes for an approximate total of 5739800
Debug: (1.09647) - (usage: 25623376) - (peak: 26070960)
Loading /home/efacti/public_html/uisge-beatha.eu/lib/classes/class.cms_content_tree.php = 114312 bytes for an approximate total of 5854112
Debug display of 'ending tree':(1.096776) - (usage: 25660904) - (peak: 26070960)
Debug display of 'End Loading Hierarchy Manager':(1.096853) - (usage: 25653704) - (peak: 26070960)
Debug: (1.100095) - (usage: 25661208) - (peak: 26070960)
(mysql): SELECT count(DISTINCT mn.cgblog_id) as count
FROM cms_module_cgblog mn WHERE status = 'published' AND ( IFNULL(start_time, '1970-01-01 01:00:01') < '2013-01-03 19:03:59') AND (( IFNULL(end_time, '1970-01-01 01:00:01') = '1970-01-01 01:00:01') OR (end_time > '2013-01-03 19:03:59')) LIMIT 1
Debug: (1.238892) - (usage: 25669312) - (peak: 26070960)
(mysql): SELECT DISTINCT mn.*
FROM cms_module_cgblog mn WHERE status = 'published' AND ( IFNULL(start_time, '1970-01-01 01:00:01') < '2013-01-03 19:03:59') AND (( IFNULL(end_time, '1970-01-01 01:00:01') = '1970-01-01 01:00:01') OR (end_time > '2013-01-03 19:03:59')) ORDER BY mn.cgblog_date desc LIMIT 0, 1000
Debug: (1.240228) - (usage: 25690512) - (peak: 26070960)
(mysql): SELECT A.category_id,B.name
FROM cms_module_cgblog_blog_categories A
LEFT JOIN cms_module_cgblog_categories B
ON A.category_id = B.id
WHERE A.blog_id = '400'
Debug: (1.244029) - (usage: 25692104) - (peak: 26070960)
(mysql): SELECT A.value,B.id,B.name,B.type FROM cms_module_cgblog_fieldvals A, cms_module_cgblog_fielddefs B WHERE A.fielddef_id = B.id AND B.public = 1 AND A.cgblog_id = '400' ORDER BY B.item_order
Debug: (1.251861) - (usage: 26030552) - (peak: 26252984)
Loading /home/efacti/public_html/uisge-beatha.eu/lib/classes/class.cms_content_cache.php = 42920 bytes for an approximate total of 5897032
Debug: (1.253053) - (usage: 26032288) - (peak: 26282288)
(mysql): SELECT * FROM cms_content WHERE content_id = '78' LIMIT 1
Debug: (1.261649) - (usage: 26764816) - (peak: 27048928)
Loading /home/efacti/public_html/uisge-beatha.eu/lib/classes/class.ContentBase.php = 550464 bytes for an approximate total of 6447496
Debug: (1.261858) - (usage: 26813560) - (peak: 27048928)
Loading /home/efacti/public_html/uisge-beatha.eu/lib/classes/contenttypes/Content.inc.php = 776736 bytes for an approximate total of 7224232
Debug: (1.262737) - (usage: 26841664) - (peak: 27049872)
(mysql): SELECT A.category_id,B.name
FROM cms_module_cgblog_blog_categories A
LEFT JOIN cms_module_cgblog_categories B
ON A.category_id = B.id
WHERE A.blog_id = '399'
Debug: (1.263882) - (usage: 26843568) - (peak: 27062360)
(mysql): SELECT A.value,B.id,B.name,B.type FROM cms_module_cgblog_fieldvals A, cms_module_cgblog_fielddefs B WHERE A.fielddef_id = B.id AND B.public = 1 AND A.cgblog_id = '399' ORDER BY B.item_order
Debug: (1.26796) - (usage: 26853376) - (peak: 27258888)
(mysql): SELECT A.category_id,B.name
FROM cms_module_cgblog_blog_categories A
LEFT JOIN cms_module_cgblog_categories B
ON A.category_id = B.id
WHERE A.blog_id = '398'
Debug: (1.269108) - (usage: 26855280) - (peak: 27258888)
(mysql): SELECT A.value,B.id,B.name,B.type FROM cms_module_cgblog_fieldvals A, cms_module_cgblog_fielddefs B WHERE A.fielddef_id = B.id AND B.public = 1 AND A.cgblog_id = '398' ORDER BY B.item_order
Debug: (1.273668) - (usage: 26869288) - (peak: 27270568)
(mysql): SELECT A.category_id,B.name
FROM cms_module_cgblog_blog_categories A
LEFT JOIN cms_module_cgblog_categories B
ON A.category_id = B.id
WHERE A.blog_id = '397'
Debug: (1.275364) - (usage: 26871208) - (peak: 27270568)
(mysql): SELECT A.value,B.id,B.name,B.type FROM cms_module_cgblog_fieldvals A, cms_module_cgblog_fielddefs B WHERE A.fielddef_id = B.id AND B.public = 1 AND A.cgblog_id = '397' ORDER BY B.item_order
Debug: (1.279158) - (usage: 26882152) - (peak: 27286520)
(mysql): SELECT A.category_id,B.name
FROM cms_module_cgblog_blog_categories A
LEFT JOIN cms_module_cgblog_categories B
ON A.category_id = B.id
WHERE A.blog_id = '396'
Debug: (1.279943) - (usage: 26884728) - (peak: 27286520)
.
.
.
.
.
.
Debug: (3.583144) - (usage: 30875256) - (peak: 31383896)
(mysql): SELECT A.value,B.id,B.name,B.type FROM cms_module_cgblog_fieldvals A, cms_module_cgblog_fielddefs B WHERE A.fielddef_id = B.id AND B.public = 1 AND A.cgblog_id = '138' ORDER BY B.item_order
Debug display of 'Fetch module_db_tpl:CGBlog;summaryTag_CGBlog start':(3.588017) - (usage: 30881936) - (peak: 31387664)
Debug display of 'CMSModuleDbTemplateResource startCGBlog;summaryTag_CGBlog':(3.588295) - (usage: 30888072) - (peak: 31387664)
Debug: (3.589231) - (usage: 30892064) - (peak: 31387664)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'CGBlog' and template_name = 'summaryTag_CGBlog' LIMIT 1
Debug display of 'CMSModuleDbTemplateResource endCGBlog;summaryTag_CGBlog':(3.589442) - (usage: 30897576) - (peak: 31387664)
Debug: (4.189227) - (usage: 33590688) - (peak: 33853696)
Nothing is known about truetypetext... cant load it
Debug display of 'Fetch module_db_tpl:CGBlog;summaryTag_CGBlog end':(4.202366) - (usage: 33554440) - (peak: 34196544)
Debug display of 'Fetch module_db_tpl:SiteMapMadeSimple;xml_UB_Sitemap end':(4.217506) - (usage: 33688832) - (peak: 34302648)
Debug: (4.217625) - (usage: 33688568) - (peak: 34302648)
get all content...
Debug: (4.219376) - (usage: 33701264) - (peak: 34302648)
(mysql): SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (15,81,45,44,46,30,55,66,77,49,74,51,48,56,57,79,80,52,82) ORDER BY hierarchy
Debug: (4.221695) - (usage: 33911560) - (peak: 34302648)
Loading /home/efacti/public_html/uisge-beatha.eu/lib/classes/contenttypes/SectionHeader.inc.php = 73464 bytes for an approximate total of 7297696
Debug: (4.230102) - (usage: 34235744) - (peak: 34576216)
(mysql): SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (37) ORDER BY hierarchy
Debug: (4.231371) - (usage: 34266576) - (peak: 34576216)
(mysql): SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (59,61,62,63,64) ORDER BY hierarchy
Debug: (4.234142) - (usage: 34402664) - (peak: 34683824)
(mysql): SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (76,72,83) ORDER BY hierarchy
Debug: (4.236127) - (usage: 34484776) - (peak: 34757376)
(mysql): SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (31,36) ORDER BY hierarchy
Debug: (4.237729) - (usage: 34540008) - (peak: 34808264)
(mysql): SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (65,50,40,39,38,35) ORDER BY hierarchy
Debug: (4.240644) - (usage: 34702128) - (peak: 34985416)
(mysql): SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (53,73,75) ORDER BY hierarchy
Debug: (4.241847) - (usage: 34782704) - (peak: 35055792)
end get all content...
Debug display of 'Fetch module_db_tpl:SiteMapMadeSimple;xml_UB_Sitemap start':(4.271856) - (usage: 34828600) - (peak: 35089232)
Debug: (4.275057) - (usage: 35125584) - (peak: 35728528)
Nothing is known about FrontEndUsers... cant load it
Debug: (4.294157) - (usage: 35133112) - (peak: 35728528)
(mysql): SELECT count(DISTINCT mn.cgblog_id) as count
FROM cms_module_cgblog mn WHERE status = 'published' AND ( IFNULL(start_time, '1970-01-01 01:00:01') < '2013-01-03 19:04:02') AND (( IFNULL(end_time, '1970-01-01 01:00:01') = '1970-01-01 01:00:01') OR (end_time > '2013-01-03 19:04:02')) LIMIT 1
Debug: (4.436098) - (usage: 35134600) - (peak: 35728528)
(mysql): SELECT DISTINCT mn.*
FROM cms_module_cgblog mn WHERE status = 'published' AND ( IFNULL(start_time, '1970-01-01 01:00:01') < '2013-01-03 19:04:02') AND (( IFNULL(end_time, '1970-01-01 01:00:01') = '1970-01-01 01:00:01') OR (end_time > '2013-01-03 19:04:02')) ORDER BY mn.cgblog_date desc LIMIT 0, 1000
Debug: (4.437001) - (usage: 35153744) - (peak: 35728528)
(mysql): SELECT A.category_id,B.name
FROM cms_module_cgblog_blog_categories A
LEFT JOIN cms_module_cgblog_categories B
ON A.category_id = B.id
WHERE A.blog_id = '400'
Debug: (4.437863) - (usage: 35155352) - (peak: 35728528)
(mysql): SELECT A.value,B.id,B.name,B.type FROM cms_module_cgblog_fieldvals A, cms_module_cgblog_fielddefs B WHERE A.fielddef_id = B.id AND B.public = 1 AND A.cgblog_id = '400' ORDER BY B.item_order
Debug: (4.443696) - (usage: 35169240) - (peak: 35728528)
(mysql): SELECT A.category_id,B.name
FROM cms_module_cgblog_blog_categories A
LEFT JOIN cms_module_cgblog_categories B
ON A.category_id = B.id
WHERE A.blog_id = '399'
Debug: (4.445923) - (usage: 35179296) - (peak: 35728528)

Re: Traag verwerken cgblog artikel

Posted: Thu Jan 03, 2013 7:17 pm
by Rolf
Hoi Gregor,

Gebruik je SitemapMadeSimple voor de CGBlog artikelen?
De website/admin wordt hier inderdaad erg traag van... Bij iedere handeling wordt nml. de statische sitemap opnieuw aangemaakt, dus kost veeeele secondes

Ik heb een dynamische sitemap aangemaakt op mijn website ivm de (2200) detailpagina's van de Products module en dat werkt in de admin veel sneller. Het genereren van de sitemap kost nog wel tijd, maar Google heeft daar geen problemen mee.

Zou dit jouw probleem ook oplossen?

grt. Rolf

Re: Traag verwerken cgblog artikel

Posted: Thu Jan 03, 2013 7:31 pm
by Gregor
Hoi Rolf,

Allereerst mijn beste wensen voor je en dat het binnen je mogelijkheden een goed jaar wordt.

Ik gebruik inderdaad SitemapMadeSimple voor CGBlog artikelen o.b.v. de info van deze site http://www.i-do-this.com/blog/57/Update ... with-a-UDT Op welk moment die sitemap wordt aangemaakt, maakt me niet zoveel uit. Ik heb gekeken naar CGCronjob, alleen kom ik daar niet uit.

Ik heb ter test deze uit de eventmanager gehaald en dat scheelt aanzienlijk in de doorlooptijd na een submit.

Als antwoord op je vraag, ik denk dat dat mij ook zou helpen (en misschien wel meer forummers ;) )

Groets, Gregor

Re: Traag verwerken cgblog artikel

Posted: Fri Jan 04, 2013 6:12 pm
by Rolf
Ik heb dit gemaakt aan de hand van bestaande posts van o.a. SjG en Arnoud. En deze op mijn manier en voor mijn doel aangepast...

Nieuwe HTML sjabloon: "Blank template"
Content: {content}

Nieuwe UDT: "content_type"
Content:

Code: Select all

if (! empty($params['type']) )
{
    $type = $params['type'];
} 
else
{
    $type = 'text/html';
}
    
cmsms()->variables['content-type'] = $type;
Nieuwe pagina: "Sitemap Recepten"
Pagina Url: "sitemap-recipes.xml"
Content:

Code: Select all

{content_type type='text/xml'}
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{CGBlog assign='cgblog'}
{foreach from=$items item=entry}
<url><loc>{$entry->detail_url|lower}</loc></url> 
{/foreach}
</urlset>
Voorbeeld:
http://www.smakelijketenzonderzout.nl/s ... ecipes.xml

Maar óók:
http://www.smakelijketenzonderzout.nl/s ... gbooks.xml
http://www.smakelijketenzonderzout.nl/sitemap-news.xml
http://www.smakelijketenzonderzout.nl/sitemap-pages.xml
http://www.smakelijketenzonderzout.nl/s ... sodium.xml (GROOT!)
etc.
En een
http://www.smakelijketenzonderzout.nl/robots.txt ( {content_type type='text/plain'} )

Ik heb voor de eenvoudige opbouw van de sitemap gekozen omdat het op mijn site gewoon héél erg veel is.

Groot voordeel is dat de sitemap pas wordt aangemaakt als deze geopend wordt en niet bij iedere content wijziging op de website
Ik gebruik de Sitemap module dus niet meer!

Succes, Rolf

Re: Traag verwerken cgblog artikel

Posted: Sun Jan 06, 2013 9:16 am
by Gregor
Dank je wel voor je uitleg Rolf.

De stappen gevolgd en op deze pagina vind je de output http://www.uisge-beatha.eu/Sitemap_UB.xml

Wat opvalt, is dat er maar een gedeelte van de cgblog-artikelen in de xml file staan, daar waar ik alle artikelen had verwacht. Heb jij daar een verklaring voor?

De overige url-voorbeelden die je geeft, is dat dan per xml een nieuwe pagina aanmaken? Dus voor alle bestaande pagina's op de site ook een xml-aanmaken.

V.w.b. dit robots.txt, ik neem aan dat je de pagina's waarin gezocht mag worden in een nieuwe pagina hebt gezet? Dit o.b.v de bestaande robots.txt.

Groet, Gregor

Re: Traag verwerken cgblog artikel

Posted: Sun Jan 06, 2013 5:09 pm
by Rolf
Ik zou zo niet weten waarom maar een deel van je blog artikelen wordt opgenomen... Je gebruikt alleen {CGBlog assign='cgblog'} op de pagina? En niet {CGBlog category='iets...' assign='cgblog'}?

Voor iedere sitemap heb ik inderdaad een aparte pagina aangemaakt, afhankelijk van de inhoud de "template" aangepast, pagina's, nieuws, CompDir. etc. Op zich kan het wel wat compacter in minder pagina's maar het is m.i. zo wel overzichtelijker en sneller. In Google webmasterhulpprogramma's kun je het zo ook beter in de gaten houden.
Ik heb de sitemap pagina's onder een dummy pagina staan in de listcontent, zodat ze me niet in de weg staan.

In de robots.txt heb ik niet opgenomen waar zoekmachines *wel* mogen komen, lijkt me persoonlijk een beetje overbodig. Maar qua SEO kan ik dat wel helemaal mis hebben hoor...
Maar met mijn bescheiden SEO oplossingen doet mijn website het supergoed bij Google. Zonder SEO modules, *tig* meta-regels etc. Keep it simple works for me ;)

grt. Rolf :)

Re: Traag verwerken cgblog artikel

Posted: Wed Jan 09, 2013 3:28 pm
by Gregor
Na het uitbreiden van de cgblog-tag met number=1000 kwamen wel alle artikelen. Vreemd, maar goed, het werkt.

Het is me gelukt om een UDT in een cronjob te laten uitvoeren en daarmee kan ik de veroorzaker van de vertraging bij het submitten van een artikel ergens in de nacht uit laten voeren. M.a.w. ik heb de udt die SitemapMadeSimple aanroept in een cronjob gezet die ik elke nacht een nieuwe xml laat aanmaken. De aanmaak van het bestand werkt, zoals ik dat nu kan overzien. Ik wil het in eerste instantie zo proberen voordat ik overga op het maken van pagina's zoals Rolf heeft uitgelegd.

In ieder geval dank voor je uitleg Rolf!

Grtz., Gregor