webForumDet fria alternativet

.htaccess tungt för servern?

Webbservrar

9 svar · 466 visningar · startad av Maja

Medlem sedan mars 2000344 inlägg
Frågan#1

Efter tips i detta forum har jag lagt ut en .htaccess-fil med kod för att blockera direktlänkning. Det verkar funka fint, men jag tycker mig märka att servern blivit lite seg på sistone. Jag är inte helt säker på att detta är orsaken eftersom den för det mesta är "pigg och glad", men utimellan blir det segt en minut eller två. Då funkar inte heller scripten. Det konstiga är att det lika ofta inträffar under lågtrafik.

Jag har loggat in med SSH och när det krånglar syns inget särskilt och "load average" ligger på typ: 0.43, 0.14, 0.06. "CPU User" däremot kan vara uppåt 50% (pendlar mellan 25 och 50%, förr var det bara några få procent).

Jag kanske ska nämna att jag inte har installerat något nytt på månader och inte ändrat i existerande script.

Alla teorier är välkomna.

~ Maja

Medlem sedan juni 20008 205 inlägg
#2

Ja, det kan ha en viss påverkan (men jag tvivlar på att det är särskilt mycket). Om du har tillgång till den "globala" konfigfilen för Apache, som heter httpd.conf, kan du göra alla ändringar däri och sedan ange AllowOverride None. Då kollar Apache inte efter .htaccess-filer, så man får en viss prestandavinst.

Medlem sedan mars 2000344 inlägg
#3

Tack spango!

Problemet är att om jag gör så påverkar det väl alla siter på servern? Jag har nämligen hyst in ett par hemsidor som är helt fristående och ägs av andra.

I samma .htaccess har jag även lagt in en rad om 404-sidor och dessa ska bara gälla min egen site. När jag redan har en .htaccess servern måste leta efter gör det väl ingen skillnad om jag lägger in fler "kommandon" i samma fil? Eller är ModRewrite (som används till anti-direktlänkning) så mycket mer betungande för servern att det kan löna sig att ha den biten i konfig och så en .htaccess med 404-infon i själva HTML-trädet?

Jag har mer eller mindre avskrivit .htaccess som orsak till att servern blir överbelastad ibland, men det här var intressant ändå.

Kan man ändra i konfig och göra så att det bara gäller en site?

~ Maja

Medlem sedan juni 20008 205 inlägg
#4

Det vet jag inte, men jag skulle gissa det (VirtualHost, kanske?).
Men en lösning skulle vara att ha en .htaccess i roten för den berörda webbplatsen, och i den säga AllowOverride None. httpd.conf och .htaccess-filer har samma syntax, kommandon o.s.v..
Om inte annat kan du ju passa på att RTFM:a litegranna :) , särskilt General Performance Hints .

Medlem sedan dec. 19992 555 inlägg
#5

Hur ser din .htaccess ut?

Kommer ihåg när jag själv började leka med mod_rewrite t.ex. Lyckades skapa oändliga loopar som mer eller mindre gjorde servern okontaktbar under några minuter. :)

Kan ju vara något sådant kanske?

Medlem sedan mars 2000344 inlägg
#6

Tack för länkarna, spango! Ska kolla bums.

Robban: Detta ligger ute nu:

------
ErrorDocument 404 /e404.htm

RewriteEngine On
Options +FollowSymLinks

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://graphicgarden.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.graphicgarden.com/.*$ [NC]
RewriteCond %{HTTP_USER_AGENT} ^.*MSIE.*$
RewriteRule .*\.(gif|GIF|jpg|JPG|zip|ZIP|png|PNG)$ - [F]
------

(Det blir nog lite extra radbrytningar här, misstänker jag.)

Det funkar som sagt fint och servern mår bra för det mesta, men nån/några gånger per dag blir den plötsligt grymt seg.

~ Maja

Medlem sedan juni 20008 205 inlägg
#7

Det kan inte vara något cronjobb som körs när servern blir seg?

Medlem sedan mars 2000344 inlägg
#8

Nej, jag tror inte det. Visserligen har jag några cron-jobb, men de körs vid helt andra tidpunkter. Problemen började då jag satte dit filen, så jag lutar att det är den som är boven, trots allt. Jag håller just på och läser på så jag törs ändra i config... :-D

Medlem sedan mars 2000344 inlägg
#9

Jag hittade två tänkbara filer, så jag skrev till Tera-Byte och frågade vilken jag skulle ändra i. De svarade så här:

We highly recommend that you do not alter the main web server configuration files by hand. If you can add the directive to a .htaccess file, that is just as fast as using the main configuration file and it is much more flexible.

Kan det verkligen stämma? Allt jag läst och hört säger att det blir mindre belastning för servern om "koden" läggs i konfig. Finns det en .htaccess måste ju servern ner och leta i varenda undermapp efter motsägande information, så fort nån går in på siten.

Men, men, avråder de från att röra konfig tror jag att jag låter bli. Jag har iallafall tagit bort anti-direktlänk-koden för att kolla om det gör nån skillnad på serverns beteende.

~ Maja

Medlem sedan juni 20008 205 inlägg
#10

Ursprungligen av Maja Allt jag läst och hört säger att det blir mindre belastning för servern om "koden" läggs i konfig. Finns det en .htaccess måste ju servern ner och leta i varenda undermapp efter motsägande information, så fort nån går in på siten.

Det stämmer, men stor ansträngning är det inte, och det borde i sådana fall inte komma regelbundet utan ha med besökarantalet att göra.

273 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)