Entwickler-Ecke

Datenbanken - Lange Server-Zugriffszeiten beim Umstieg von Win7 auf Win10


ub60 - Fr 28.08.20 00:50
Titel: Lange Server-Zugriffszeiten beim Umstieg von Win7 auf Win10
Hallo miteinander,

wir haben in der Firma ein MySQL-Datenbankproblem beim Umstieg von Windows 7 auf Windows 10:

Seit vielen Jahren läuft ein (von mir geschriebenes) Programm unter Windows 7 mit Zugriff auf einen MySQL-Server problemlos. Das Programm startet in ca. 1-2 Sekunden.
Nach Umstieg auf Windows 10 startet das Programm erst nach einer Wartezeit von ca. 20 bis 25 Sekunden.
Edit: Das Programm startet auch unter Windows 10 sofort (erst erfolgt eine Passwortabfrage), dann folgt allerdings die lange Wartezeit.
Im laufenden Programm funktionieren einige Datenbankzugriffe sofort, einige brauchen mehr als 10 Sekunden.
Der MySQL-Server ist noch die gleiche Maschine, unter Windows 7 läuft das identische Programm nach wie vor tadellos.

Ein Umstieg auf eine neue Delphi-Version würde ich nur ungern vornehmen, weil das Programm aus ca. 50000 Zeilen Quelltext besteht.

Eventuell hat ja jemand eine Idee, was sich unter W10 geändert hat und wo man eventuell mit der Fehlersuche beginnen könnte.

Zur Eingrenzung des Fehlers noch einige Informationen:

Vielen Dank schon mal!
ub60


jfheins - Fr 28.08.20 10:06

Hast du evtl. irgendwo als Hostname localhost verwendet?

Ich hatte mal ein ähnliches Problem (DB Connection string auf localhost) und jeder Zugriff hat 30 sek. gedauert.
Umstellung auf 127.0.0.1 hat das Problem behoben.


jaenicke - Fr 28.08.20 10:31

Ja, localhost statt der IP ist ein heißer Tipp, das hatte ich auch bei einem Onlinegame, an dem ich gearbeitet hatte. Mit 127.0.0.1 gingen die Zugriffszeiten deutlich herunter. Das gilt allerdings nicht erst für Windows 10.

Ansonsten bliebe noch der Windows Defender. Der bremst an manchen Stellen massiv. (Auch wenn Tests solche Effekte offenbar bei diversen Antivirenprogrammen deutlich schlechter messen können als man selbst manuell mit einer Stoppuhr... :autsch:)


Th69 - Fr 28.08.20 10:43

Dies könnte dann ein IPv4 vs. IPv6-Problem sein, denn localhost wird wohl zu der IPv6-Adresse ::1 aufgelöst (teste es einfach mal in der Konsole mit ping localhost).


ub60 - Fr 28.08.20 11:14

user profile iconjfheins hat folgendes geschrieben Zum zitierten Posting springen:
Hast du evtl. irgendwo als Hostname localhost verwendet?

Nein, der Server läuft auf einem eigenen Rechner, den ich mit seiner IP-Adresse anspreche, nicht mit "localhost".


jaenicke - Fr 28.08.20 13:33

Dann bleiben noch der Windows Defender oder auch andere Antivirentools übrig.

Hast du denn einmal geschaut wo die Zeit verloren geht? Zum Beispiel mit Debugmeldungen oder dem Process Monitor? Sprich bist du sicher, dass das Problem der Datenbankzugriff ist?

Hintergrund:
Eventuell ist schlicht die Internetverbindung in der Firma eingeschränkt und der SmartScreen-Filter von Windows 10 (oder etwas ähnliches) läuft jedesmal bis zum Timeout bevor die Anwendung überhaupt gestartet wird...


ub60 - Fr 28.08.20 14:35

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Dann bleiben noch der Windows Defender oder auch andere Antivirentools übrig.

Hast du denn einmal geschaut wo die Zeit verloren geht? Zum Beispiel mit Debugmeldungen oder dem Process Monitor? Sprich bist du sicher, dass das Problem der Datenbankzugriff ist?

Hintergrund:
Eventuell ist schlicht die Internetverbindung in der Firma eingeschränkt und der SmartScreen-Filter von Windows 10 (oder etwas ähnliches) läuft jedesmal bis zum Timeout bevor die Anwendung überhaupt gestartet wird...

Wo die Zeit verloren geht, weiß ich leider noch nicht. Da werde ich nächste Woche mal ein paar Debug-Routinen dazuschreiben.
Ich vermute trotzdem, dass das Problem an der Datenbankanbindung liegt weil:

Wenn es Antiviren-Programme oder der Smartscreen-Filter wären, würde das Programm dann nicht generell verspätet starten?

Ich werde das mit den Antiviren-Prpgrammen auf alle Fälle nächste Woche testen.
Danke an alle, die bisher geantwortet haben!
Weitere Ideen sind willkommen.

ub60


jaenicke - Fr 28.08.20 17:32

user profile iconub60 hat folgendes geschrieben Zum zitierten Posting springen:
Wo die Zeit verloren geht, weiß ich leider noch nicht. Da werde ich nächste Woche mal ein paar Debug-Routinen dazuschreiben.
Bevor du Debugausgaben hinzufügst wäre es doch viel einfacher erst einmal von außen mit dem Process Monitor zu schauen. Oft fällt dabei schon etwas auf ohne dass man großen Aufwand betreiben muss...

Bei einer so langen Wartezeit ist es ja sehr einfach zu schauen was in dieser Zeit passiert ist.