AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi wieviele TIdThreads mit TIdTCPServer möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

wieviele TIdThreads mit TIdTCPServer möglich?

Ein Thema von fisherman_b · begonnen am 7. Mär 2005 · letzter Beitrag vom 7. Mär 2005
Antwort Antwort
fisherman_b

Registriert seit: 4. Mär 2005
Ort: Aachen
21 Beiträge
 
RAD-Studio 2009 Arc
 
#1

wieviele TIdThreads mit TIdTCPServer möglich?

  Alt 7. Mär 2005, 12:05
Hallo,

leider habe ich bei meiner Suche in den Forum keine passende Antwort finden können, daher frage ich hier mal ganz explizit.
Ich experimentiere zur Zeit mit einem auf den Indy Komponenten basierenden Server (Version 9, Delphi 7 Enterprise, Windows XP).
Ich habe hierfür einen Client gemacht, der eine beliebige Anzahl von User-Zugriffen simuliert, um z.B. mein Protokoll testen zu können. Dabei ist mir eher zufällig aufgefallen, dass der TIdTCPServer bei ca. 2150 Connections mit Fehlermeldungen dichtmacht (Kein Speicher verfügbar), es sind dann keine weiteren Connections möglich. Das leuchtet mir nicht ganz ein: die Threads (TidPeerThread), die bei jedem Connect erzeugt werden, belegen garde mal ca. 15 KB pro Client. Wie muss denn der fehlende Speicher zur Verfügung gestellt werden ? Die Server-Applikation inkl. ca. 2000 Threads benötigt beispielsweise etwa 34 MB Speicher.
Ich habe, um auszuschliessen, dass es an meinen Threads liegt, das Gleiche mit den Indy Demos getestet (Chat, Basic Server). Das Resultat ist das Gleiche, unabhängig davon ob man einen TIdThreadMgrDefault oder einen TIdThreadMgrPool verwendet.
Gibt es eine Beschränkung bei den Indy Komponenten, was die Anzahl der Threads angeht ? Oder ist das bereits eine Beschränkung des Betriebssystems (also ca. 2500) ?

Gruss,

Bernhard
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: wieviele TIdThreads mit TIdTCPServer möglich?

  Alt 7. Mär 2005, 12:23
Hi,

auf was fürn nem System haste das ganze denn getestet ?
Ich meine mich waage zu erinnern, das es eine Betriebssystem bedingte Sperre gibt.

Die sich aber auch irgentwie ändern lässt(aber nur als ADmin)

Gruß Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
fisherman_b

Registriert seit: 4. Mär 2005
Ort: Aachen
21 Beiträge
 
RAD-Studio 2009 Arc
 
#3

Re: wieviele TIdThreads mit TIdTCPServer möglich?

  Alt 7. Mär 2005, 12:32
Hallo Data,

Entwicklung und Test laufen derzeit mit Windows XP. Adminrechte wären kein Problem... Das Ganze wird nach Kompilierung mit Kylix 3 auch unter Linux lauffähig sein, da reine Konsolen-Anwendung nur mit CLX Komponenten und bedingter Kompilierung. Die Frage wäre also, wenn es eine betriebssystembedingte Angelegenheit wäre, für beide Plattformen zu klären.

Danke schon mal für's Mitgrübeln

Gruss,

Bernhard
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: wieviele TIdThreads mit TIdTCPServer möglich?

  Alt 7. Mär 2005, 12:37
Hi,

Du scheinst das gleiche im Prinzip zu coden, wo ich schon dran bin/mit fertig bin.
Also mein Server läuft unter Windoof, daher kenn ich das Problem mit der Clientanzahl, nur reichen mir 1000 Clients absolut aus.

Aber vorsicht :
BEi der Portierung nach Linux bin ich mit nem Kollegen auf nen Problem gestossen, was die Indys unter Kylix angeht.
Ich habe das ganze in ne Consolen App unter Kylix umgeschrieben und lass das ganze als Daemon laufen no Gui no VCL.

Der Server läuft einwandfrei, doch beim beenden bleiben immer zwei Threads hängen

Such dir gleich mal nen Link aus nen Kylix Forum dazu.

Gruß Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
fisherman_b

Registriert seit: 4. Mär 2005
Ort: Aachen
21 Beiträge
 
RAD-Studio 2009 Arc
 
#5

Re: wieviele TIdThreads mit TIdTCPServer möglich?

  Alt 7. Mär 2005, 13:21
Hallo Data,

Dein Tipp ging schon mal absolut in die richtige Richtung:
Da der Source Code von vornherein auf Cross Platform abzielt, gibt's keine Portierung, sondern wirklich nur eine Neukompilierug unter Kylix - zumindest konnte ich das bis zum momentanen Stadium des Projekts durchziehen. Das habe ich eben mal gemacht und auf einen kleinen alten Linux Server geschoben. Ein erster flotter Versuch mit dem Test-Client zeigte auf Anhieb, dass mindestens 4000 parallele Connects möglich sind, wahrscheinlich dann ja auch noch einige mehr.... aber so viele braucht man ja erst mal doch noch nicht *g*
Das Problem mit den übrigbleibenden Threads scheine ich gottseidank auf beiden Plattformen (bisher) nicht zu haben, hoffen wir, dass es dabei bleibt
Der Server hat übrigens einen speziellen Admin-Port, über den sich später ein passender GUI Client zur Wartung verbinden können soll, damit wirklich eine reine Konsolenanwendung möglich ist.
An Deinen Erfahrungen mit der Thematik bin ich natürlich sehr interessiert. Wenn Dein Projekt dasjenige ist, das man unter der URL in Deiner Signatur findet, kann ich sagen, dass ich von der Technologie eine ähnliche Sache in Arbeit habe, aber das Produkt schon sehr andersartig ist (grobe Richtung: Game Server).

Gruss

Bernhard
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: wieviele TIdThreads mit TIdTCPServer möglich?

  Alt 7. Mär 2005, 13:48
Hi Bernhard,

ich glaube wir sollten mal ein paar Erfahrungen austauschen.
Ich habe meine Portierung nach Kylix nämlich erstmal hintenangestellt und lass das ganze jetzt mit 2 Windows Server laufen, obwohl die Entwicklung auch auf Linux abgezielt war.
Und ich Windows nur zum testen genommen habe.

Bei meinem Projekt hast Du schon richtige SChlüsse gezogen.

Hast Du irgenteinen Messi ?

Würd mal gerne ein paar Sachen austauschen,

Gruß Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
fisherman_b

Registriert seit: 4. Mär 2005
Ort: Aachen
21 Beiträge
 
RAD-Studio 2009 Arc
 
#7

Re: wieviele TIdThreads mit TIdTCPServer möglich?

  Alt 7. Mär 2005, 15:52
Hallo Data,

ich schreibe Dir nachher hier über die Mailbox eine private Message, dann können wir uns ja weiter kurzschliessen. Wäre doch gelacht, wenn wir uns nicht gegenseitig wenigstens ein bisschen unter die Arme greifen könnten.


Bis dahin,

Bernhard
  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 08:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz