Hur hanterar man gigantiska nodtabeller?

Events happening in the community are now at Drupal community events on www.drupal.org.
fabsor's picture

Hej

I ett projekt jag för närvarande är delaktig i har vi 12 olika nodtyper och i dessa finns en ganska stor mängd noder (Allt innehåll migreras från den tidigare plattformen). För närvarande är vi uppe i ungefär 36000 noder och man har börjat märka att de sidor som listar noder börjar bli riktigt långsamma. Även om man inte joinar från någon annan tabell så kan en fråga som listar noder av en viss typ ta oroväckande lång tid.

I databasen indexeras det som bör indexeras och jag kan för närvarande inte komma på hur jag ska kunna förbättra prestandan ytterligare.

Alla nodtyperna är custom nodetypes och listningarna är "handskrivna" då vi fortfarande sitter på drupal 4.7 där views och cck inte är särskilt utvecklade.

Den enda lösning jag kan komma på är att cacha som tusan, men det kommer bli en väldigt massa data i cachetabellen och det kommer bli ganska bökigt att få det hela att cacha om när det ska.

Hur löser ni de problem som uppstår när man får en väldigt stor nodtabell?

Comments

Jag skulle rekommendera att

dixon_'s picture

Jag skulle rekommendera att ni först försöka uppgradera till Drupal 5 innan du gör problemet större. Jag har ingen erfarenhet av migrering mellan 4.7 och 5.0. Men det skall finnas bra guider om detta i Drupals handbok och på fler ställen.

Bara genom att uppgradera till Drupal 5 kommer du vinna lite prestanda. Inte på era egna custom queries, men på node_load() och andra centrala delar. Efter det kan ni optimera era egna queries eller eventuellt migrera till views, vilket dramatiskt skulle förbättra prestandan.

Det hade jag gärna gjort...

fabsor's picture

Tyvärr är detta ett beslut som fattats över mig (Styrelsebeslut). Hade jag kunnat hade jag givetvis kört drupal 6 från början, men man kan inte få allt här i livet =(

//Fabian Sörqvist

Har du kollat SQL-frågorna

zoo33's picture

Har du kollat SQL-frågorna med Devel? Där kan du se vilka som tar mest tid och vilka som eventuellt upprepas. Men jag antar att du har det, eftersom du skriver att en specifik fråga tar oroväckande lång tid.

Om du vet vilken/vilka frågor som tar lång tid så kan man analysera dem med EXPLAIN. Men även det kanske du redan har gjort?

Jag tror inte att 36000 rader bör vara något problem. Eventuellt behöver din MySQL-installation optimeras, till exempel kan query cache-inställningen behöva ändras. Själv har jag som mest jobbat med ca hälften så många rader, men det ska ju inte vara någon principskillnad.

/ Hannes Lilljequist – SthlmConnection

Tack för input! Jag

fabsor's picture

Tack för input!

Jag använder redan devel (oumbärlig modul =).

Tack för tipset om query cache, det kan säkert komma till användning när vi går live. Antalet noder kommer att öka ganska rejält, sidan listar nämligen festivaler och konserter i hela Europa.

Jag funderar eventuellt på att försöka trycka in memcache ifall det hela börjar gå helt överbord. I värsta fall får vi väl börja plocka bort gammalt innehåll, men det är ju förstås lite tråkigt.

//Fabian Sörqvist

Optimering av MySQL

frjo's picture

Optimering av MySQL inställningar samt installation av PHP APC (PHP cache) är enkla saker som ger stor effekt. Har ni inte ens slagit på query cache tidigare är det nästan som natt och dag.

*medlidande*

itangalo's picture

Ville bara uttrycka mitt medlidande för att styrelsen får dig att stanna kvar i Drupal 4.7. Jag upptäckte att jag sa "huuu" högt när jag läste det i ditt inlägg.

My sympathies.
//Johan Falk, Solna

Går det verkligen inte att

blackdog's picture

Går det verkligen inte att övertyga styrelsen om att uppgradera till en senare version? 4.7 är ju en potentiellt osäker version som det inte sker någon utveckling på alls, och inga moduler utvecklas heller till den versionen längre.

// Hans Nilsson, Kodamera AB
www.kodamera.se

// Hans Nilsson, Kodamera AB
www.kodamera.se

Jag hoppade på detta för

fabsor's picture

Jag hoppade på detta för enbart några veckor sedan, så i just detta projektet har jag tyvärr ingen chans, däremot tror jag att jag kommer kunna övertala etablissemanget inför kommande projekt, och om jag väl får igenom det kommer vi antagligen att uppgradera även den sidan vi håller på med nu, då de förhoppningsvis insett alla fördelar detta för med sig. Jag är hoppfull och kommer inte sluta slåss ^^

//Fabian Sörqvist

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week