![]() |
Vezögerung beim laden der Seiten mit IdHTTP?
Ich lade testweise eine bestimmte Seite mit Indys TIdHTTP und messe dabei mit QueryPerformanceCounter die Zeit, die der Client dafür braucht. Zum Vergleich lade ich die selbe Seite im Firefox und beobachte den Ladevorgang mit Netzwerkanalyse-Tool von Firefox (Menü -> Web-Entwickler -> Netzwerkanalyse). Laut dem Tool braucht der Browser im Schnitt etwa 10x so wenig Zeit für den Ladevorgang (reines HTML ohne Ressourcen und Media). Wo ist der Haken?
Ich gebe zu, dass der QueryPerformanceCounter vielleicht nicht die beste Methode ist und auch auf das Netzwerkanalyse-Tool des Browsers ist kein 100%-ger Verlass, aber dass sich die Ladezeiten so gravierend unterscheiden hätte ich nicht erwartet. Ich habe sogar versucht, für den Request die gleichen Bedingungen zu schaffen, die der Browser hat, geändert hat sich dabei nichts.
Delphi-Quellcode:
begin
... SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil); SSLHandler.SSLOptions.Method := sslvTLSv1; Compressor := TIdCompressorZLib.Create(nil); http := TIdHTTP.Create(nil); http.IOHandler := SSLHandler; http.Compressor := Compressor; http.CookieManager := MainCookieManager; http.HandleRedirects := true; //http.ConnectTimeout := 1000; //http.ReadTimeout := 1000; http.Request.AcceptLanguage := 'de,en-US;q=0.7,en;q=0.3'; http.Request.AcceptEncoding := 'gzip, deflate, br'; http.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0'; try QueryPerformanceFrequency(freq); QueryPerformanceCounter(startTime); Source := http.get(TEST_URL); QueryPerformanceCounter(endTime); RequestDuration := (endTime - startTime) * 1000 div freq; except end; http.Free; SSLHandler.Free; ... end; Für die Tests nutze ich ein sauberes, nicht ausgelastetes Windows Server. |
AW: Vezögerung beim laden der Seiten mit IdHTTP?
Caching?
Mir ist nur aufgefallen dass dein Codeschnipsel unten beim ersten mal ein vielfaches der Zeit braucht als wenn man ein zweites, drittes mal auf den Button drückt. Dein Firefox wird sicher wohl auch einiges cachen? Ich bekomme beim ersten Aufruf auch ungefähr ein Verhältnis von 1:10 - 1:15, danach ist der Browser "nur noch" doppelt so schnell. Das finde ich eigentlich einen ganz guten Wert wenn sich der gute Delphi-Compiler plus Indy-Library mit millionen(millarden?)-fach benutzter, hoch-optimierter Software messen muss... |
AW: Vezögerung beim laden der Seiten mit IdHTTP?
Hallo,
welche Version der SSL-Bibliotheken benutzt Du? Was passiert, wenn Du http statt https benutzt? |
AW: Vezögerung beim laden der Seiten mit IdHTTP?
Guten Morgen!
Zitat:
Zitat:
Zitat:
Wenn ich http statt https benutze, wird die Seite auf https umgeleitet. |
AW: Vezögerung beim laden der Seiten mit IdHTTP?
Vollständig rausfinden wirst du es nur wenn Du die Indy Library profilest.
|
AW: Vezögerung beim laden der Seiten mit IdHTTP?
Ich bin da nicht am Ball geblieben, aber interessant wäre vielleicht auch ob es nicht z.B. über
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz