Hilfe: .htaccess und Serverauslastung

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
dennist
Mitglied
Beiträge: 140
Registriert: 07.07.2005 21:51
Wohnort: Dortmund

Hilfe: .htaccess und Serverauslastung

Beitrag von dennist »

Hallo,

ich habe einen Server im Einsatz, der normalerweise eine Auslastung von 0,5-1 hat. Nun kommt es aber manchmal vor, dass diese Auslastung auf einen Wert von über 15 steigt. Alle Apacheverbindungen sind belegt und das Forum ist nicht mehr zuerreichen.

Dieser enorme Anstieg ist aber nicht mit einem plötzlichen Besucheransturm zu erklären.
Könnte das Problem am RewriteEngine und der .htaccess liegen?

Ich hatte früher die Short-URLs genutzt und habe jetzt die Seo-Urls (mgutt) im Einsatz.


.htaccess
<Files config.php>
Deny from all
</Files>

DirectoryIndex index.php index.html index.html

RewriteEngine On


<files archive>
ForceType application/x-httpd-php
# AcceptPathInfo On # uncomment this if you have apache2
</files>

RewriteCond %{REQUEST_FILENAME} forums.html
RewriteRule (.*) index.php [L]

RewriteCond %{REQUEST_FILENAME} forward([0-9]*)-([0-9]*)-([0-9]*).html
RewriteRule (.*) forward.php?f=%1&topicdays=%2&start=%3 [L]



RewriteCond %{REQUEST_FILENAME} ptopic([0-9]*).html
RewriteRule (.*) forward.php?t=%1&view=previous [L]

RewriteCond %{REQUEST_FILENAME} ntopic([0-9]*).html
RewriteRule (.*) forward.php?t=%1&view=next [L]

RewriteCond %{REQUEST_FILENAME} ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).html
RewriteRule (.*) forward.php?t=%1&postdays=%2&postorder=%3&start=%4 [L]

RewriteCond %{REQUEST_FILENAME} ftopic([0-9]*)-([0-9]*).html
RewriteRule (.*) forward.php?t=%1&start=%2 [L]

RewriteCond %{REQUEST_FILENAME} ftopic([0-9]*).html
RewriteRule (.*) forward.php?t=%1 [L]

RewriteCond %{REQUEST_FILENAME} ftopic([0-9]*).html
RewriteRule (.*) forward.php?t=%1&start=%2&postdays=%3&postorder=%4&highlight=%5 [L]

RewriteCond %{REQUEST_FILENAME} linkpartner.htm
RewriteRule (.*) linkpartner.php [L]

RewriteCond %{REQUEST_FILENAME} sitemap.html
RewriteRule (.*) sitemap.php [L]

RewriteCond %{REQUEST_FILENAME} sitemap-([0-9]*).html
RewriteRule (.*) sitemap.php\?offset=%1 [L]


# SEO URL [mgutt]
RewriteRule !\.html$ - [L]
RewriteRule ^[a-z0-9-]+-([pt])([0-9]+)\.html$ /viewtopic.php?$1=$2 [L]
RewriteRule ^[a-z0-9-]+-f([0-9]+)\.html$ /viewforum.php?f=$1 [L]
RewriteRule ^[a-z0-9-]+-u([0-9]+)\.html$ /profile.php?mode=viewprofile&u=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+),([^/,]+),([^/,]*)([^/]*\.html)$ $1$4?$2=$3 [QSA,N]
RewriteRule ^[a-z0-9-]+-([pt])([0-9]+),([^/,]+),([^/,]*)([^/]*\.html)$ viewtopic$5?$1=$2&$3=$4 [QSA,N]
RewriteRule ^[a-z0-9-]+-f([0-9]+),([^/,]+),([^/,]*)([^/]*\.html)$ viewforum$4?f=$1&$2=$3 [QSA,N]
RewriteRule ^([a-zA-Z0-9_]+)\.html$ /$1.php [L]
Ich hoffe ihr könnt mir helfen.

Viele Grüße Dennis
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

hmm, das würde mich wundern, so eine umwandlung geht normalerweise recht zügig. frag doch mal deinen hoster, der kann rausfinden, was auf dem server so viele ressourcen verbrät.
Buchtips.net bietet mehr als 2500 Buchrezensionen
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

hast du dir schon einmal die anzahl der sql-queries pro seite anzeigen lassen?

die .htaccess verbraucht sicherlich ein wenig ressourcen, man sollte von daher beim aufbau der liste darauf achten, dass oftmals gebrauchte regeln am anfang stehen und mit einem [L] abgeschlossen sind.
in den meisten apache konfigurationen kannst du darüberhinaus auch

Code: Alles auswählen

RewriteRule ^forums\.html$ /index.php [L]
statt

Code: Alles auswählen

RewriteCond %{REQUEST_FILENAME} forums.html
RewriteRule (.*) index.php [L] 
verwenden, um ein wenig ressourcen zu sparen, beim apache2 darüberhinaus auch PERL-style regexps nutzen.
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
dennist
Mitglied
Beiträge: 140
Registriert: 07.07.2005 21:51
Wohnort: Dortmund

Beitrag von dennist »

danke, werde ich gleich mal ausprobieren. :grin:
larsneo hat geschrieben:hast du dir schon einmal die anzahl der sql-queries pro seite anzeigen lassen?.
Nein; ich weiß gar nicht wo man das machen kann. Da brauch man sicher einen extra Mod für, oder?

Ich habe meinen Hoster (all-inkl) angeschrieben und der meinte, dass es sinnvoll wäre den ApacheServer (1.3.27) upzudaten.
"Eventuell enthält eine .htaccess eine Feherlhafte Regel die nach und nach mehr CPU verlangt da der Aufruf in einer Schleife gefangen ist."

Was meint ihr dazu, könnte dort das Problem liegen und ein Update Abhilfe schaffen?

Viele Grüße Dennis
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

naja - eine aktualisierung auf den apache 2.2 bringt vielleicht ein wenig mehr an performance (und die oben bereits beschriebenen PERL-style regexps) - aber ich denke einmal, dass dein problem woanders liegt.

nachdem die last nach deiner aussage ja nur ab und an auf extremwerte ansteigt, solltest du die logfiles für den entsprechenden zeitraum analysieren - treten übermässig häufig 404-fehler auf, fallen suchmaschinenspider über das board etc.

was die page generation time angeht: http://smartor.is-root.com/viewtopic.php?t=2968
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Erfahrungsgemäß liegen hohe Auslastungen der Maschine zuerst an MySQL. => MySQL optimieren: Query Cache, Thread Cache als Stichwörter.

Weiterhin sorge dafür das Apache nur soviele Verbindungen bearbeitet wie er auch verarbeiten kann ohne in Überlast zu rutschen.
dennist
Mitglied
Beiträge: 140
Registriert: 07.07.2005 21:51
Wohnort: Dortmund

Beitrag von dennist »

Hallo,

ich habe den "page generation time Mod" mal installiert.
Meine Index-Seite erzeugt 19 queries (php 25% // SQL 75%).
Wenn ein einzelner Thread geladen wird ergibt dies 26-35 queries.

Sind diese Daten ok? (Mods wie der Attachment-Mod erzeugen ja auch ihre Last)

Dann habe ich noch eine Frage zu den logfiles.
Wie kann ich die am besten auslesen bzw auswerten?
Ich habe es mit Excel versucht, doch erscheint dort eine Fehlermeldung und nur die Daten eines halben tages werden angezeigt.
Gibt es da bessere Programme (offline bevorzugt)?

Gruß Dennis
darklordi
Mitglied
Beiträge: 323
Registriert: 13.12.2004 16:26
Wohnort: Langenfeld
Kontaktdaten:

Beitrag von darklordi »

in welcher form liegen dir die logfiles denn vor ?

also ich hab im index neuerdings 27Queries -.- wegen color groups usw ... braucht alles querys ^^
in nem beitrag mit 2dateianhängen habsch z.b. "Page generation time: 0.1631s (PHP: 91% - SQL: 9%) - SQL queries: 28"

Also passen deine Werte .. (es sei denn du hast keine Addons , dann würd ich mir sorgen machen ;) )
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Ähm, also 75% SQL ist schon relativ viel, da würde ich mir an deiner Stelle Gedanken machen (Query-Cache, Queries optimieren etc.). :wink:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
thompson
Mitglied
Beiträge: 797
Registriert: 14.11.2002 14:04
Wohnort: irgendwo im süden
Kontaktdaten:

Beitrag von thompson »

S2B hat geschrieben:Ähm, also 75% SQL ist schon relativ viel, da würde ich mir an deiner Stelle Gedanken machen (Query-Cache, Queries optimieren etc.). :wink:
gibts da was nachzulesen ? würde mich auch näher interessieren, da ich auch immer mal wieder große spitzen in der auslastung habe.
Antworten

Zurück zu „Coding & Technik“