AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy HTTP CPU Auslastung
Thema durchsuchen
Ansicht
Themen-Optionen

Indy HTTP CPU Auslastung

Ein Thema von haentschman · begonnen am 4. Mai 2014 · letzter Beitrag vom 5. Mai 2014
Antwort Antwort
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#1

AW: Indy HTTP CPU Auslastung

  Alt 4. Mai 2014, 13:36
Bei der Geschwindigkeit mit der die Daten über die Leitung marschieren müßten sich die Kerne eigentlich langweilen...
Zum Vergleich würde ich ein POST auf andere Zielserver versuchen, die Formulare mit application/x-www-form-urlencoded entgegennehmen. So liesse sich feststellen ob es am Server liegt.

Mit relativ wenig Zeitaufwand liesse sich das auch mit Indy's HTTP Server machen, ein OnCommandGet Handler ist schnell geschrieben.
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.437 Beiträge
 
Delphi 12 Athens
 
#2

AW: Indy HTTP CPU Auslastung

  Alt 4. Mai 2014, 14:39
Sooo...
ich habe dann mal den HTTP Post in eine leere Anwendung 1:1 (außer Events) übernommen. Eine Schleife darüber und laufen lassen.
Ergebnis: CPU Last = 0-1%

Tschuldigung bei den Indys...

Dann gibt es jetzt eine Auskommentierorgie.

gefunden... Die Lösung ist so einfach, daß ich mich
Ich habe noch einen 2. Thread parallel. Bei diesem habe ich das Execute "vorbereitet" ohne wirklich die Proceduren zu füllen. Quasi nur den Rumpf. Dabei war aber eine while Schleife im Execute quasi ohne Inhalt. Das kann ja nicht funktionieren. Ein beherztes Sleep bis die Inhalte fertig sind... und gut.

Auslastung bei 2 Geräten: 0-1%

Tschuldigung für die Belästigung...

Geändert von haentschman ( 4. Mai 2014 um 15:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#3

AW: Indy HTTP CPU Auslastung

  Alt 4. Mai 2014, 19:57
Schön, dass wir mal drüber gesprochen haben
Das kostet aber ein Bier auf den nächsten DT
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.386 Beiträge
 
Delphi 12 Athens
 
#4

AW: Indy HTTP CPU Auslastung

  Alt 4. Mai 2014, 20:12
Wenn man seinen Threads einen Namen gibt (Delphi-Referenz durchsuchenTThread.NameThreadForDebugging), dann sieht man im Debugger auch schöner was wozu gehört.

Mit dem immer besser werdenden Thread-Debugging findet man vermutlich auch solche Threads dann schneller.



Schön wäre es, wenn Emba den KlassenNamen+Komponentennamen der TThread-Klasse standardmäßig automatisch daran übergeben würde.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 4. Mai 2014 um 20:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.437 Beiträge
 
Delphi 12 Athens
 
#5

AW: Indy HTTP CPU Auslastung

  Alt 5. Mai 2014, 05:09
Moin...
Zitat:
Wenn man seinen Threads einen Namen gibt (Delphi-Referenz durchsuchenTThread.NameThreadForDebugging), dann sieht man im Debugger auch schöner was wozu gehört.
...die habe alle schöne Namen. Wenn man an der verkehrten Ecke sucht nützt das nicht viel
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.386 Beiträge
 
Delphi 12 Athens
 
#6

AW: Indy HTTP CPU Auslastung

  Alt 5. Mai 2014, 06:35
Wenn dir eine anonyme Nummer (ID) reicht, welche sich auch noch ständig ändert?
(ständig = jedes Mal, wenn dieser Thread startet)

Du hättest ja nur gucken müssen, welcher der Threads das verursacht und wie er heiß.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.437 Beiträge
 
Delphi 12 Athens
 
#7

AW: Indy HTTP CPU Auslastung

  Alt 5. Mai 2014, 07:44
Zitat:
Wenn dir eine anonyme Nummer (ID) reicht, welche sich auch noch ständig ändert?
Meine Threads haben Namen. Leider wird in der IDE unter Thread Status immer nur der zuletzt gestartete angezeigt. Ob das ein Fehler der IDE ist...

Wie hätte es mir aber geholfen die Auslastung zu sehen?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.386 Beiträge
 
Delphi 12 Athens
 
#8

AW: Indy HTTP CPU Auslastung

  Alt 5. Mai 2014, 08:22
Mit einem passendem Taskmanager (ProcessExplorer?) sieht man die ThreadID und kann dann im Delphi nachsehn wer das ist.

Oder man hält einfach mal nacheinander einen/mehrere der Threads an und wenn die CPU nicht mehr ausgelastet ist, dann hat man den Verursacher (vermutlich) gefunden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16: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