Posted by PatrickTarzan on December 6, 2010 at 10:00am
Vad är den främsta orsaken till att min drupalsida är seg som sirap? Vad finns det för åtgärder man kan göra för att snabba upp sidan?
Ibland tar det upp till 6-7 sekunder att klicka på en länk.
För många blocks? moduler? Finns det några speciella tips man kan göra?
Comments
Kan bero på mycket...
Drupals stora flaskhals i min mening är antalet databasanrop. De kan bli lätt segt där, speciellt om du ligger på webbhotell.
Ligger du på egen server så har du en massa att jobba med. Rekomenderar alltid en egen server/VPS för drupal siter. har du de så kolla på apc, alt e-accelerator samt varnish elle rmotsvarande reverse proxy server. Tweeka också inställningarna på mysql:en.
Men om du ligger på webbhotell så börja med att köra med drupals egna cache system, alt så kollar du på boost modulen.
Men som skrivet, de är allra bäst att ligga på egen server eftersom du då kan göra en hel del inställningar och tweeks.
/M
MARTIN SKÖLD
Web developer
073 - 50 66 521
www.twitter.com/martinskld
www.facebook.com/martin.skold
se.linkedin.com/in/martinskold
WILSON CREATIVE
Bredbandet 1
392 30 Kalmar
http://www.wilsoncreative.se
0480 - 36 37 70
Jag ligger hos Loopia, och
Jag ligger hos Loopia, och har inte i dagsläget möjlighet att ligga på en egen server. Jag använder cache idag, men tycker inte sidan blir speciellt mycket snabbare.
Börja med att kontrollera att
Börja med att kontrollera att cachning och CSS-/JS-optimering är aktiverat under admin/settings/performance.
Som Martin påpekar kan det gå riktigt segt på vissa webbhotell. Med modulen Devel kan man få information om vilka SQL-frågor som tar längst tid att köra, vilket kan ge ledtrådar om det är någon modul som är extra trött.
Jag ska ladda ner Devel och
Jag ska ladda ner Devel och kika lite på det. Om jag vetat att Drupal var så fruktansvärt seg på Webbhotell, hade jag kanske tänk en andra gång, det är synd eftersom jag verkligen gillar Drupal.
När det gäller CSS och JS optimering - kan man vara säker på att det inte blir några komplikationer?
Det brukar inte vara några
Det brukar inte vara några problem med optimering och du märker ju direkt om något pajar. Med CSS är det nästan tvärt om, många moduler innebär ofta många stylesheets och Internet Explorer läser inte in fler än 31 CSS-filer, sen slutar den...
byt från loopia
Jag bara säga att Loopia är lysande men när de kommer till drupal så är dem sega, varför dem är sega vet jag inte riktigt och dem verkar tyvärr inte vilja ta reda på de heller men jag tror de handlar om deras mysql uppsättning.
Har provat lite olika ställen och kör just nu på strongbox och dem funkar mycket bra på mindre siter med drupal. Binero ska också funka bra och www.citynetwork.se ska visst vara bra dem med och de erbjuder just nu gratis webbhotell i ett år.
Som henrrrik skrev så kolla css/js optimeringen är påslagen, man kan också leka lite med mod_deflate och mod_expire i .htaccess filen.
Kolla på modulen boost som kan ge bra resultat om dina besökare är mestadels anonyma på sidan.
/M
MARTIN SKÖLD
Web developer
073 - 50 66 521
www.twitter.com/martinskld
www.facebook.com/martin.skold
se.linkedin.com/in/martinskold
WILSON CREATIVE
Bredbandet 1
392 30 Kalmar
http://www.wilsoncreative.se
0480 - 36 37 70
Slå på cachning av dina vyer.
Slå på cachning av dina vyer. Vissa vyer kanske du kan tillåtas cachas i 30 min etc.
Testa med firefox tillägget Yslow varför sajten är seg.
Har du bakgrundsbilder som kan slås ihop till en sprite?
//Pontus Nilsson, Digitalist
Hur slår man på vyer av vyer?
Hur slår man på vyer av vyer? Hittar inget om det.
Sidan blev snabbare med hjälp av optimering av CSS/JS förresten.
Basic settings under views på
Basic settings under views på din display: Caching
//Pontus Nilsson, Digitalist
Jag måste bara fråga, jag är
Jag måste bara fråga, jag är fortfarande rätt ny på detta, och jag förstår inte vart man ska gå in för att se denna inställning? i Prestanda? eller på View (modulen)?
Det är inne i modulen views
Det är inne i modulen views du ställer in det. I inställningarna för din vy, för din display under basic settings.
//Pontus Nilsson, Digitalist
Vad rekommenderas för
Vad rekommenderas för cachningstid? Default är 1 timme. Förstår att det är avhängt hur mycket trafik det är.
båda...
Under prestanda har du en del inställningar såsom cachning av hela sidan samt css/js optimering.
Under resp views så kan du ställa in hur view:n ska cachas. Du kan cacha både resultatet och outputen från viewn. Har du en sida där mycket data är statistkt så lägg på rejäl cachning på alla views. Har du en sida som är väldigt innehållsaktiv så är fortfarande väldigt prestationshöjande att lägga på cache på view:n men att man drar ner tiden den ligger cachad.
/M
MARTIN SKÖLD
Web developer
073 - 50 66 521
www.twitter.com/martinskld
www.facebook.com/martin.skold
se.linkedin.com/in/martinskold
WILSON CREATIVE
Bredbandet 1
392 30 Kalmar
http://www.wilsoncreative.se
0480 - 36 37 70
Jag har nu gjort en del
Jag har nu gjort en del åtgärder, alla views har numera caching, likaså JS/CSS använder caching, sen cachar jag även "hela" sidan (3 timmar).
Jag kan inte påstå att jag märker någon kraftig skillnad, men något bättre. Men den är ändå sjukt seg att använda, något måste vara fel.
Hur får man fram statistik från devel modulen? Hur lång tid det tar att ladda startsidan t ex?
Ett sätt är att använda
Ett sätt är att använda Firebug for Drupal, scrolla ner till Drupal for Firebug på denna sida för att se hur det ser hur. Då ser du varje SQL frågas exekveringstid.
//Pontus Nilsson, Digitalist
Jag ser direkt vad som är en
Jag ser direkt vad som är en stor del av problemet. Flags modulen, det tar ofantligt lång tid att ladda.
Dessa tar längst tid att
Dessa tar längst tid att ladda enligt Firebug.
0.92 1 node_load SELECT n.nid, n.type, n.language, n.uid, n.status, n.created, n.changed, n.comment, n.promote, n.moderate, n.sticky, n.tnid, n.translate, r.vid, r.uid AS revision_uid, r.title, r.body, r.teaser, r.log, r.timestamp AS revision_timestamp, r.format, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid INNER JOIN node_revisions r ON r.vid = n.vid WHERE n.nid = 2110.93 1 cache_get SELECT data, created, headers, expire, serialized FROM cache_block WHERE cid = 'admin:menu:analytic:sv:u.1'
1.07 1 node_load SELECT n.nid, n.type, n.language, n.uid, n.status, n.created, n.changed, n.comment, n.promote, n.moderate, n.sticky, n.tnid, n.translate, r.vid, r.uid AS revision_uid, r.title, r.body, r.teaser, r.log, r.timestamp AS revision_timestamp, r.format, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid INNER JOIN node_revisions r ON r.vid = n.vid WHERE n.nid = 206
1.35 1 node_load SELECT n.nid, n.type, n.language, n.uid, n.status, n.created, n.changed, n.comment, n.promote, n.moderate, n.sticky, n.tnid, n.translate, r.vid, r.uid AS revision_uid, r.title, r.body, r.teaser, r.log, r.timestamp AS revision_timestamp, r.format, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid INNER JOIN node_revisions r ON r.vid = n.vid WHERE n.nid = 209
3.37 1 cache_get SELECT data, created, headers, expire, serialized FROM cache_content WHERE cid = 'content_type_info:sv'
3.75 1 cache_get SELECT data, created, headers, expire, serialized FROM cache_menu WHERE cid = 'links:navigation:tree-data:d5468a046a75195288ef81dba14ffe7d'
5.1 1 cache_get SELECT data, created, headers, expire, serialized FROM cache WHERE cid = 'schema'
6.58 1 cache_get SELECT data, created, headers, expire, serialized FROM cache WHERE cid = 'theme_registry:analytic'
6.84 1 cache_get SELECT data, created, headers, expire, serialized FROM cache_views WHERE cid = 'views_data:sv'
8.29 1 cache_get SELECT data, created, headers, expire, serialized FROM cache WHERE cid = 'locale:sv'
Det här är väldigt
Det här är väldigt intressant. Nu har jag flyttat hela min databas till City Network, som enligt forum ska vara rätt bra på Drupal, men sidan går fortfarande lika långsamt som innan, jag förstår inte hur man ska göra gör att snabba upp sidan.
Hjälper det att man flyttar hela sidan till City Network? Ska det spela någon roll?
Det låter inte som att det är
Det låter inte som att det är hostingen som är felet.
De databas frågorna där är väl i millisekunder?
Det finns en execution timer i devel modulen. Börja med den istället för att dyka in direkt i databas anropen.
Det ska stå en page timer och sedan en totaltid för sql frågorna samt antal databas frågor.
Exempelvis page execution time xxx msec database yyy queries in zzz msec
Säkerställ att det verkligen är sql frågorna som tar tid och inte något annat.
Om sidan hämtas via cache och ändå är långsam så låter det som att det kan vara värt att kolla i firebug -> net tabben och se till så att det inte är något annat som tar lång tid. (finns liknande i chrome under inspect element -> resources)
Vanligt fel brukar vara att det länkas till saker som tagits bort, exempelvis bilder och css. Då genereras 404 sidor för varje sådan sak.
Testa även att slå av javascript och kolla så att det fortfarande är lika långsamt.
Som tidigare nämnts i denna
Som tidigare nämnts i denna tråd gör modulen Boost (http://drupal.org/project/boost) underverk med laddningstider på webbhotell. Den är perfekt för webbplatser där besökarna inte är inloggade.
--
Happiness - www.happiness.se
Jag löste problemet när jag
Jag löste problemet när jag flyttade hela sajten från Loopia till City Network, databasen verkade aldrig vara problemet, utan Loopia i sig. Vet inte exakt varför, jag vet bara att jag aldrig ska anlita dom igen när det gäller Drupal.
Jag kör själv några drupal
Jag kör själv några drupal installationer på Loopia och jag måste säga att de är de sämsta skitet jag varit med om. De har bytt webbserver åt mig 2 gånger och databasserver 1 gång men det hjälper inte. De är trevliga när man ringer men trevlig support betyder inget om det är allt är.
Inser att jag måste byta hotell igen. Jäkligt tråkigt. Kan inte rekommendera någon att välja Loopia.
Jag gillar manufrogs
Jag gillar manufrogs webtjänst, billigt med bra villkor. Servrar i florida, men om det inte är nån jättebelastning märker man det inte...
undvik loopia
Har haft en del siter på loopia men håller just nu på att flytta alla. Vi kör en egen hosting i fortsättningen eftersom fördelarna med att lägga på varnish, memcache och apc på servern är enorma. Citynetwork ska fungera bra men absolut inte jämfört med en egen vps.
Loopia är alltid trevliga och så men deras tekniker verkar vara helt insnöade och vägrar bekänna färg när de kommer till prestandan för drupal. Dem säger enbart att de ska fungera bra men bevisligen gör de inte de. Eftersom vi köper mellan 40-60 konto per hos loopia(gjorde i alla fall) så tycker man att dem borde vara mer intresserade i att få det att fungera.
/M
MARTIN SKÖLD
Web developer
073 - 50 66 521
www.twitter.com/martinskld
www.facebook.com/martin.skold
se.linkedin.com/in/martinskold
WILSON CREATIVE
Bredbandet 1
392 30 Kalmar
http://www.wilsoncreative.se
0480 - 36 37 70
Loopia Om ni kontrollerar
Loopia
Om ni kontrollerar sidan nu så ska denna ladda mycket bättre, jag misstänker att det har varit en belastning som skapat den seghet som upplevts då sidan nu efter en ny serverflytt fungerar med en acceptabel hastighet.
Jag
Sitter här och kan inte ladda sidan. Att det var en belastning som skapade segheten är ju inte så förvånande eftersom det var vad som hände. Kan inte säga att ni lyckats bättre nu än innan.
Loopia
Tyvärr kan vi inte göra så mycket mer för er, detta då Drupal egentligen inte är gjort för att köras på ett webbhotell. Det kräver helt enkelt mer prestanda än en enskild kund kan förbruka i en delad miljö. För att Drupal ska bli snabbt krävs väldigt mycket specialkonfiguration som man som kund på ett webbhotell inte kan komma åt att justera. Det är även saker som kan påverka andra lösningar negativt och då kan man inte som webbhotell justera dessa inställningar eftersom det är en ganska blandad sammansättning av system som körs. Min rekommendation för att ni ska få Drupal att flyta på riktigt snabbt vore en VPS eller egen server. Det är visserligen dyrare än ett webbhotell, men då kommer ni ha tillgång till att ändra saker själva som kan förbättra prestandan med Drupal.
Du kan läsa mera om dessa inställningar som behöver göras för att få Drupal riktigt snabbt här: http://drupal.org/node/2601 och här: http://pronovix.com/blog/my-favorite-drupal-performance-hacks
Visserligen kan en del av de tricks som nämns genomföras på ett webbhotell, men då har man fortfarande problemet att man delar server med andra kunder varpå man inte kan få ut någon ordentlig prestanda ur Drupal ändå. De åtgärder som har mest effekt behöver man full åtkomst till en egen server eller VPS för att kunna utföra.
Jag
Vi flyttar helt enkelt. Det finns webbhotell för typ 300 kr per år som funkar bättre.