Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mal wieder Threads.... (https://www.delphipraxis.net/146920-mal-wieder-threads.html)

Luckie 3. Feb 2010 17:53

Re: Mal wieder Threads....
 
Zitat:

Zitat von sirius
Zitat:

Zitat von Luckie
So viel, bis der Speicher ausgeht.

Das ist die Grenze für schlafende Threads. Gleichzeitig laufen sollten aber maximal 16.

Ich habe mich noch mal umgesehen, da mir das mit den 16 Threads keine Ruhe gelassen hat. Diese Portscanner:
http://www.delphipraxis.net/internal...canner&start=0 und
http://www.delphipraxis.net/internal...?p=47533#47533
laufen mit deutlich mehr als 16 aktiven Threads.

DelTurbo 3. Feb 2010 17:58

Re: Mal wieder Threads....
 
Ich hatte gestern 31 laufen. Ohne probs. Im moment laufen *nachguck* 11. Also Peak war bisher 31.

Luckie 3. Feb 2010 18:09

Re: Mal wieder Threads....
 
Ich hatte schon über 1000 laufen, allerdings wie viele davon tatsächlich aktiv waren kann ich nicht genau sagen. Aber bestimmt mehr als 16. Aber ich denke, in so einem Fall ist es ganz sinnvoll, wenn man Priorität der Threads runtersetzt.

mjustin 3. Feb 2010 19:15

Re: Mal wieder Threads....
 
Zitat:

Zitat von Luckie
Ich hatte schon über 1000 laufen, allerdings wie viele davon tatsächlich aktiv waren kann ich nicht genau sagen. Aber bestimmt mehr als 16. Aber ich denke, in so einem Fall ist es ganz sinnvoll, wenn man Priorität der Threads runtersetzt.

55.000 threads sind schon machbar (mit 2GB RAM):

http://blogs.technet.com/markrussino...8/3261309.aspx

Cheers,
Michael

Astat 3. Feb 2010 23:16

Re: Mal wieder Threads....
 
Zitat:

Zitat von DelTurbo
Gibt es da eine obergrenze? Ich habe im moment bis zu 100 threads vorgesehen.

Hallo DelTurbo, ja.

1. Die Stack Size und der zur Verfügung stehende Speicher (RAM)
2. Die Kosten für Threadswitching

Microsoft empfiehlt für Serveranwendung die hohe Last für einzelne Requests erzeugen, auf modernen Xeon Systemen maximal 8 Threads per CPU.

Dh. Das Limit liegt genau dort, wo das Verhältnis der Verwaltungszeit (CPU-Takte für den aufwendigen Threadwechsel)
zum tatsächlichen Nutzen für die Anwendung zu kostspielig wird.

Anderst ausgedrückt, je mehr ein Thread arbeiten muss, desto weniger können kostengünstig verwendet werden.

Perfmon liefert dafür ausagekräftige Werte (Processor Queue Length)

lg. Astat


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr.
Seite 3 von 3     123   

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 by Thomas Breitkreuz