Jag har en applikation som körs på IIS och som gör X antal http post anrop per sekund. Om förfrågningarna görs till en webbsida som befinner sig i samma applikation så får jag timeout efter en tid. Om jag däremot flyttar ut sidan som gör förfrågan till en annan applikation fungerar allt perfekt. Finns det någon inställning i IIS som bestämmer hur många förfrågningar som får göras "internt" eller vad kan detta felet bero på ? Använder Windows Server 2003 och IIS 6.
(Vill även påpeka att mina kunskaper inom IIS är mycket begränsade, så reservation ifall jag använder mig av felaktiga uttryck)
Du ska nog ha bra många requests per sekund för att få en IIS-app att sluta fungera, om det inte är något fel någonstans då förstås, som en minnesläcka eller nåt sånt.
Vad menar du med att du har en applikation som gör HTTP-anrop? Anropar den sig själv? Mot vilken URL/adress görs förfrågan? Vad är det för kod som körs när anropet tas emot? Är det alltid ungefär efter lika lång tid som det slutar fungera? Det kan vara värt att monitorera t.ex. minnesanvändning, trådar, handles och diverse andra mätpunkter under körningen för att se vad som ökar/minskar under tiden och vad värdena är på när det slutar fungera.
Postningen sker till en klassisk .asp fil som sparar ner data till en mysql-databas och sen returnerar svaret som tas emot med tmpResponseText ...
Som sagt, fungerar perfekt om jag kör från min lokala maskin till servern men om jag flyttar .NET-delen och kör den i samma applikation som .asp-delen så får jag timeout efter X antal postningar. Efter ungefär 100-200 st i snitt...
Nu är jag ingen .NET-guru, men det vore väl på sin plats att förstöra "req"-variabeln efter anropet, om den inte ska användas mer.
Frågan är ifall du menar att du lägger båda sidorna under samma sajt eller samma applikation. Det är inte synonymt i IIS. Om du vet vad skillnaden är, kan du testa att isolera de olika sidorna i varsin Application Pool och testa igen, även om det är tveksamt ifall det hjälper.
Jag föreslår att du använder Performance Monitor på maskinen, för att se om några värden drar iväg. Exempel hade kunnat vara Process\Handle count. För att använda Process-objektet rätt, måste du, för att skilja processerna åt, ange vilken process/PID som den skall kika på. För att med säkerhet få fram en Application Pool's PID, kör Start > Run.. > cmd > iisapp [enter]. Dessutom kan det vara värt att se till att inställningarna för Application Pool'en i IIS inte definerar att poolen skall få en Recycle (då får den en ny PID - perfmon tappar kopplingen) vid t.ex. ett visst antal requests eller efter en viss tid.
260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849