indianapolis
Goto Top

ASP Classic Datenbankzugriff auf SQL-Server unter Windows 2003 beim ersten Aufruf mit 5-6 Sekunden Wartezeit

Guten Tag

Ich hoffe, ich bin hier im richtigen Bereich.
Die Homepage Centil-Europe.ch wird auf einem Windows Server 2003 Professional gehostet und ist mit ASP-Clasic programmiert.
Der SQL-Server ist eine 2008 Version. Wenn man die Homepage im Browser öffnet, dauert es einige Sekunden, bis diese geladen wird.
Danach funktioniert das ganze im Milisekunden-Bereich völlig normal, wie vorgesehen.
Für Besucher ist dies ziemlich nervig, wie auch für mich. Die Sicherheitseinstellungen beim SQL-Server wurden korrekt parametriert, da
sonst ja kein Zugriff möglich wäre. Ich habe auch die WebApi Pool Einstellungen kontrolliert, sowie im Ereignislog nach einem Eintrag
gesucht. Konnte jedoch nichts finden, was aufschlussreich für weitere Untersuchungen nützlich gewesen wäre.

Ich hoffe, jemand kennt dieses Phänomen und kann sich, obwohl schon beides etwas älter ist, an die Lösung erinnern?
Tips sind natürlich auch willkommen, wofür ich froh wäre.

Danke im Voraus und Gruss, René

Content-Key: 350720

Url: https://administrator.de/contentid/350720

Printed on: April 19, 2024 at 19:04 o'clock

Member: Pjordorf
Pjordorf Oct 04, 2017 at 10:59:10 (UTC)
Goto Top
Hallo,

Zitat von @Indianapolis:
Die Homepage Centil-Europe.ch wird auf einem Windows Server 2003 Professional gehostet und ist mit ASP-Clasic programmiert. Der SQL-Server ist eine 2008 Version.
Du hast also auf einen Server 2003 OS den SQL Server 2008. OK. Und wie ist das heilige Blechle denn so ausgestattet? RAM denke ich mal 4 GB ausser du hast ein Server 2003 x64 am laufen, RAID evtl. mit SATA Platten und keinen Controller, LAN Anbindung 100 MBit/s und einen aDSL als Internet Zugang. Da wird deine Hardware sicher nicht mit deinen gewünschten Anforderungen klar kommen, oder hat es alles mal wie gewünscht funktioniert? Dann könnte ein Platten defekt oder RAM odr Mainboard evtl. das Verhalten bewerkstelligen. Die Monitoring möglichkeiten eines Server 2003 sind eher beschieden und da wirst du evtl. um drittanbieter Werkzeuge nicht drum herum kommen.

Aber alles nur Vermutet, du sagst ja nichts über deren HW und Verbindun nichts aus.

Wenn man die Homepage im Browser öffnet, dauert es einige Sekunden, bis diese geladen wird.
Wie zu erwarten

Danach funktioniert das ganze im Milisekunden-Bereich völlig normal, wie vorgesehen.
Weil dann das gesuchte sich noch im RAM befindet

Für Besucher ist dies ziemlich nervig, wie auch für mich.
Schnellere Hardware und ein OS was mehr als 4 GB RAM kann

Ich hoffe, jemand kennt dieses Phänomen und kann sich, obwohl schon beides etwas älter ist, an die Lösung erinnern?
Ist hier wohl eine Kombination aus allem.

Gruß,
Peter
Member: Indianapolis
Indianapolis Oct 04, 2017 at 11:47:36 (UTC)
Goto Top
Hallo Pjodorf

Danke für deine Antwort.
Beim Server handelt es sich um einen älteren IBM Server (Kein Rack-Server) mit 6 HDS zu 2 virtuelle Partitionen. Müsste meines Wissens Raid 5 sein. (2 aktive Platten, eine Reserve pro virtuellem Drive). In Betrieb mit 4 GB RAM.

Was das Windows Betriebssystem angeht, muss ich präzisieren. Vorher war Windows 2003 Professional in Betrieb. Dort funktionierte alles einwandfrei. Dieses Jahr hatte ich auf Windows Server 2003 Enterprise aufgerüstet. (Ich weis, ist auch veraltet, aber Kostengünstig). Der Unterschied zur vorhergehenden Version liegt im Web-Server Bereich, wo jetzt ein App-Pool, für ASP und ASP.Net, integriert ist. Läge es an der Hardware, würden ASP-Freie Websites das gleiche Verhalten aufweisen, was aber nicht der Fall ist. Daher muss es ein Software Problem sein. ASP selber ist auch nicht das Problem, da ASP-Code ohne DB-Zugriff kein verzögertes Verhalten aufweist. (Ich hatte das gestern kurz getestet, muss dies aber nochmals mit etwas mehr ASP-Code nachprüfen.)
Klickt man in der Homepage auf den Artikel Link "mehr", wird eine andere Unterseite mit dem gesamten Artikel geladen. Da diese Detailansicht problemlos in den Speicher geladen und öffentlich zugänglich ist, kann ein RAM Problem ausgeschlossen werden.

Es scheint fast, als ob der Verbindungsaufbau zur DB ein Problem hätte. Gab es in der Vergangenheit irgendwelche bekannte Probleme mit der Datenbank Zugriffsschnittstelle MDAC?

Gruss René
Member: Pjordorf
Pjordorf Oct 04, 2017 at 11:57:36 (UTC)
Goto Top
Hallo,

Zitat von @Indianapolis:
Vorher war Windows 2003 Professional in Betrieb
Ein Desktop OS

Dieses Jahr hatte ich auf Windows Server 2003 Enterprise aufgerüstet.
Ein Server OS. Ein Server kann Anwendungen diie im Hintergrund laufen anderes behandelen wie ein Desktop OS. Da gibbet die Möglichkeit dem OS zu sagen Anwendungen (im Viordergrund) oder den Hintergrundprozessen bevorzugt zu behandeln. Vielleicht is es das.

Es scheint fast, als ob der Verbindungsaufbau zur DB ein Problem hätte.
Eher das dein DB nun auf einen Server OS sich ein bischen anders verhält als auf ein Desktop OS, und somit greiefn deine Einstellungen nicht mehr richtig oder wie von dir gewüscht. Es kommt nicht von ungefähr das ein MS SQL Server sein eigenes Blechle haben will.

Das Problem besteht doch seitdem du von Desktop OS auf Server OS gewechselt hast, oder?

Und ein RAID 5 ist für einen MS SQL Server eher ein einbremser. Jaja, RAID 5 mit SATA war mal das non plus ultra, heute eher ein RAID 10 mit SSDs

Gruß,
Peter
Member: Indianapolis
Indianapolis Oct 04, 2017 at 12:55:13 (UTC)
Goto Top
Hallo Peter

Nein beides Server Betriebssysteme
Sorry für die Verwechslung der Bezeichnung.
Das erste war eine Windows 2003 R2 Standard Edition.
Die jetzige ist eine Windows 2003 R2 64 Bit Enterprise Version

Immer als "Domain Controller" eingerichtet.
Ein Desktop OS weist soweit ich weis, keine Möglichkeit auf, einen Webserver (IIS) zu betreiben, da dies DNS und Wins voraussetzt.

Was SQL-Server anbelangt, hatte ich Windows 2003 R2 Standard Edition.auf einem IBM Rack-Server (X3850 M2) mit 128 GB RAM und 16 CPUs mit der gleichen DB-Version in Betrieb. Die Datenbank war, natürlich auch auf dem grösseren Server installiert) mit 7.5 Millionen Datensätzen in der physikalischen Grösse von 90GB schon recht gross und hatte keine Probleme. Abfragezeiten von 0.5 Sekunden waren normal. Nur möchte ich momentan nicht auf diesen Server zurück wechseln, da er einen wesentlich höheren Stromverbrauch aufweist.

Ja stimmt, SSDs wären echt geil, Perfomance Schub wie beim Wechsel vom Käfer zum Porsche.
Eigentlich war der kleine IBM Server nur dafür gedacht, die Homepages zu hosten. Aufgrund der hohen Stromrechnung musste jedoch der grössere Server vorübergehend schlafen gelegt werden. Dieser träumt jetzt im Rack von seinem erneuten Einsatz.

Nunja, das eigentliche Problem scheint meiner Ansicht nach beim Zugriff auf die DB zu sein. Nur ist es schwierig festzustellen, ob der Verbindungsaufbau über die MDAC ADODB Schnittstelle Probleme verursacht, oder womöglich der SQL-Server selber?
Ich ging davon aus, dass in der Vergangenheit andere, als diese Server-Versionen aktuell auf dem Markt waren, auf das gleiche Problem gestossen sind.

Ich prüfe heute Abend beim SQL-Server nochmals alle Berechtigungen, sowie die Berchtigungen auf File-Ebene und schaue mir die globalen Einstellungen im SQL-Server Management Tool an. Auf dem Server laufen auch www.RC-King.ch und www.web-markt.ch.
(Mit seperaten DBS in der gleichen SQL-Server Version)

Gruss René
Member: Vision2015
Vision2015 Oct 04, 2017 at 17:00:20 (UTC)
Goto Top
Zitat von @Indianapolis:

Hallo Peter

Nein beides Server Betriebssysteme
Sorry für die Verwechslung der Bezeichnung.
Das erste war eine Windows 2003 R2 Standard Edition.
Die jetzige ist eine Windows 2003 R2 64 Bit Enterprise Version
2003...sorry... das meinst du nict ernst... oder?
sowas ist echt grobfahrlässig....

Immer als "Domain Controller" eingerichtet.
warum?
Ein Desktop OS weist soweit ich weis, keine Möglichkeit auf, einen Webserver (IIS) zu betreiben, da dies DNS und Wins voraussetzt.
natürlich kann ein desktop os den iis.... dns auch... wozu brauchst du wins?
linux kann auch asp....

Was SQL-Server anbelangt, hatte ich Windows 2003 R2 Standard Edition.auf einem IBM Rack-Server (X3850 M2) mit 128 GB RAM und 16 CPUs mit der gleichen DB-Version in Betrieb. Die Datenbank war, natürlich auch auf dem grösseren Server installiert) mit 7.5 Millionen Datensätzen in der physikalischen Grösse von 90GB schon recht gross und hatte keine Probleme. Abfragezeiten von 0.5 Sekunden waren normal. Nur möchte ich momentan nicht auf diesen Server zurück wechseln, da er einen wesentlich höheren Stromverbrauch aufweist.
hm... vorher nachdenken

Ja stimmt, SSDs wären echt geil, Perfomance Schub wie beim Wechsel vom Käfer zum Porsche.
Eigentlich war der kleine IBM Server nur dafür gedacht, die Homepages zu hosten. Aufgrund der hohen Stromrechnung musste jedoch der grössere Server vorübergehend schlafen gelegt werden. Dieser träumt jetzt im Rack von seinem erneuten Einsatz.

Nunja, das eigentliche Problem scheint meiner Ansicht nach beim Zugriff auf die DB zu sein. Nur ist es schwierig festzustellen, ob der Verbindungsaufbau über die MDAC ADODB Schnittstelle Probleme verursacht, oder womöglich der SQL-Server selber?
Ich ging davon aus, dass in der Vergangenheit andere, als diese Server-Versionen aktuell auf dem Markt waren, auf das gleiche Problem gestossen sind.

Ich prüfe heute Abend beim SQL-Server nochmals alle Berechtigungen, sowie die Berchtigungen auf File-Ebene und schaue mir die globalen Einstellungen im SQL-Server Management Tool an. Auf dem Server laufen auch www.RC-King.ch und www.web-markt.ch.
(Mit seperaten DBS in der gleichen SQL-Server Version)

Gruss René
frank
Member: wiesi200
wiesi200 Oct 05, 2017 at 04:57:55 (UTC)
Goto Top
Hallo,

das ist eine allgemeine Eigenart von ASP hierfür benötigt man ein "Warm Up Script"

https://stackoverflow.com/questions/23155784/iis-7-5-warm-up-not-working ...
Member: Indianapolis
Indianapolis Oct 05, 2017 at 07:01:43 (UTC)
Goto Top
Guten Morgen wiesi200

Danke für den Tip.
Ich habe inzwischen einen weitere Test ausgeführt.
Dazu erstellte ich eine leere Test.asp website mit der Grund HTML Struktur.
Im Kopfbereich des Formulars folgenden Code hinzugefügt

<%
Dim Ret
Ret = 24 * 5 / 7
Response.Write Ret
%>
Und habe die Website im lokalen Client, gleiches Netzwerk innerhalb der Domain,
im Client-Browser geöffnet. Das gleiche Problem wie bereits gestern erwähnt.

Wie bereits erwähnt, dauert der Erstaufruf 6 Sekunden, danach funktionieren Subseiten mit ASP und DB-Zugriff ganz normal.
Schliesse ich den Browser und füre das gleiche nochmals aus, wieder das gleiche Phänomen.
Es muss also ein Session-Abhängiges Problem im Zusammenhang mit dem Application Pool Service sein.

Das Windows 2003 R2 Enterprise System wurde mit dem integrierten IIS 6.0 installiert.

Frank und Peter;
Das wieso und warum bezüglich der Wahl des Betriebssystems ist zur Lösung des Problems irrelevant. Das hat persönliche Gründe, da das Ganze auf privater Basis betrieben wird. Abgesehen Davon ist eine Hardware Firewall vorgeschaltet und ein Virenscanner installiert. Die Firewall lässt nur das notwendigste durch, alles andere ist gesperrt. Diese Netzstruktur ist nun schon 8 Jahre so in Betrieb und es gab kein einziges mal ein Problem. Daher sehe ich Kommentare wie "grobfahrlässig" als nutzloses Geschwätz, welcher nichts zur Lösungsfindung beiträgt.

Gruss René