Ich betreibe eine Website mit IIS8 auf Windows Server 2012. Ich versuche herauszufinden, was eine hohe CPU-Auslastung durch IIS verursacht (häufig 50% oder mehr CPU-Auslastung durch IIS). Der Server erhält über den gesamten Tag ungefähr 40 Anfragen pro Sekunde, aber wahrscheinlich nur 1-2 URLs pro Sekunde, die verarbeitet werden müssen.IIS8 RewriteModule/URLRewrite Extrem langsam
Ich habe Request Tracing aktiviert und festgestellt, dass einige RewriteModule-Anfragen mehr als 100 Sekunden (!) Benötigen. Ich habe Probleme festzustellen, wie dies auf einer Maschine mit mehr als ausreichender Hardware möglich ist. Die exakt gleiche URL-Struktur wird in weniger als einer Sekunde über Apache in Apache verarbeitet.
http://<domain-name>/Product/<Parent-Category>/<Child-Category1>/<Child-Category2>/<Child-Category3>/<Product-Name>
Die begleitende Rewrite-Regel ist:
<rule name="Rule" stopProcessing="true">
<match url="^Product/([^/\?]+)/?([^/\?]+)?/?([^/\?]+)?/?([^/\?]+)?/?([^/\?]+)?/?([^/\?]+)?/?[\?]?(.+)?$"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="/Product/index.php?a={R:1}&b={R:2}&c={R:3}&d={R:4}&e={R:5}&f={R:6}&{R:7}" appendQueryString="true"/>
</rule>
Gibt es etwas in der Art und Weise, dass ich das Spiel URL bin definiert, die verursacht hohe Verarbeitungs
Ein URL Beispiel so sein würde Zeit? Einige der übereinstimmenden URLs enthalten eine große Anzahl an Zeichen, wenn sie viele Eltern/Kind-Kategorien verwenden (bis zu 5, in der Regel 3-4).
Ich habe meine Änderungen, die ich am Freitag später gemacht, aber ich akzeptierte Antwort, da sie die gleiche grundlegende Änderung vorschlägt. –