Socket Leistungsfähigkeit eines xSocketservers, wieviele Verbindungen max?

Status
Nicht offen für weitere Antworten.

Marti

Mitglied
Hallo, ich bin ein Java-Neuling und insgesamt recht unerfahren mit Netzwerken und Servern.

Auf Grundlage dieser verständlichen Erläuterung ist es mir gelungen einen socketserver zu erstellen, den ich noch derzeit etwas anpasse. Das ganze basiert auf der xSocket-Bibliothek, die auf NIO basiert.
Der Client ist eine Flashanwendung, die Daten entgegennimmt, aber nichts zurück sendet. Der Server sendet in diesem Fall nur Daten, max. 1kb/s pro Verbindung (Ich habe die Zeichen aus dem gesendeten String ausgezählt und mit 2 multipliziert, sicher nicht der übliche Weg).
Auf meinem Rechner läuft alles wunderbar.
Mich würde nun sehr interessieren, wieviel Verbindungen ich damit bedienen kann, ohne dass die ganze Sache enorm langsam wird. Wenn ich jetzt z.B. einen VPS mit 360MB RAM anmieten würde, wie weit käme ich damit? Wenn ich jetzt mal angenommen 1000 Verbindungen gleichzeitig hätte, wie hoch wäre der zeitliche Unterschied des Datenempfangs bei dem ersten und letzen Client?
 
T

tuxedo

Gast
Hallo, ich bin ein Java-Neuling und insgesamt recht unerfahren mit Netzwerken und Servern.

Auf Grundlage dieser verständlichen Erläuterung ist es mir gelungen einen socketserver zu erstellen, den ich noch derzeit etwas anpasse. Das ganze basiert auf der xSocket-Bibliothek, die auf NIO basiert.
Der Client ist eine Flashanwendung, die Daten entgegennimmt, aber nichts zurück sendet. Der Server sendet in diesem Fall nur Daten, max. 1kb/s pro Verbindung (Ich habe die Zeichen aus dem gesendeten String ausgezählt und mit 2 multipliziert, sicher nicht der übliche Weg).
Auf meinem Rechner läuft alles wunderbar.
Mich würde nun sehr interessieren, wieviel Verbindungen ich damit bedienen kann, ohne dass die ganze Sache enorm langsam wird. Wenn ich jetzt z.B. einen VPS mit 360MB RAM anmieten würde, wie weit käme ich damit? Wenn ich jetzt mal angenommen 1000 Verbindungen gleichzeitig hätte, wie hoch wäre der zeitliche Unterschied des Datenempfangs bei dem ersten und letzen Client?


Der RAM ist relativ wurscht. Wenn du 1kbyte/sec übertragen willst und dein "Wie auch immer" Server mit 100Mbit am Rechenzentrum-Switch hängt, dann ist die Rechung doch ganz easy:

100Mbit ^= etwa 10MByte/sek

10MByte = 10.000kByte

10.000kbyte/s : 1kbyte/s = 10.000

Ergo: 10.000 Verbindungen im "Best-Case". NIO sollte das an sich packen. Was aber viel interessanter ist: Lässt dein OS so viele gleichzeitige, dauerhaft offene Verbindungen zu?

- Alex
 

Marti

Mitglied
Ich sondiere noch mögliche Angebote, bzw. will mich da zunächst noch etwas kundiger machen.
Linode habe ich ins Auge gefasst. Dort werden unterschiedliche Linux-Distributionen angeboten (Debian, OpenSuse, Ubuntu usw...).
Gibt es welche, die man empfehlen kann?
 
T

tuxedo

Gast
Also bei den Linode Priesen kannst du dir fast schon nen richtigen Root-Server holen. Da hast du deutlich mehr von.

Empfehlen kann ich in der Kategorie ausnahmslos Hetzner.de

Wenns unbedingt günstiger und ein vRoot sein soll dann würde ich server4you.de wählen.

Alles in allem: Wieso auf nen teuren Hoster in den USA setzen, wenn man für weniger einen in nem deutschen RZ mit deutschem Support bekommt?!

- Alex
 

Marti

Mitglied
Ich bin noch am Beginn der Suche, aber die Angebote von Hetzner sind besser. Und klar: ein deutschsprachiger Anbieter ist mir natürlich lieber und bei gleichen Preisen vorzuziehen. Danke.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M SocketError bei Aufruf eines SOAP-Servers Netzwerkprogrammierung 8
G seite nach posten eines html-forms laden Netzwerkprogrammierung 0
J Protokolle innerhalb eines Heimnetzwerks Netzwerkprogrammierung 6
V Kann man mit Hilfe eines Java-Programms den Zugriff auf bestimmte Internetseiten verhinden? Netzwerkprogrammierung 3
N Name eines Attributes aus einem festen String und einer Variablen generieren Netzwerkprogrammierung 5
X Response eines RESTful-Service mit JSON Netzwerkprogrammierung 8
F Neuer Json aus teilen eines vorhandenen Json Netzwerkprogrammierung 0
N Client Identifikation eines Servers Netzwerkprogrammierung 1
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
K Multiplayer eines Spiels Netzwerkprogrammierung 21
K Ansprechen eines Remote Druckers Netzwerkprogrammierung 2
L Erstellen eines Online Multiplayer Apps Netzwerkprogrammierung 10
eLogic Download eines Links Netzwerkprogrammierung 2
U Socket Abhören eines Sockets/Ports in extra Thread Netzwerkprogrammierung 8
2 Schliessen eines Serversockets Netzwerkprogrammierung 2
Hindi93 Abbruch eines Programmes abfangen Netzwerkprogrammierung 8
1 SSH-Kommunikation - Ende eines Streams nicht erkenntlich Netzwerkprogrammierung 2
C Alle Computer eines Netzwerkes finden Netzwerkprogrammierung 32
N Senden eines Arrays Netzwerkprogrammierung 6
U Name eines Netzlaufwerks ermitteln Netzwerkprogrammierung 5
L Body eines http Request auslesen Netzwerkprogrammierung 2
K Ende eines HTTP Response/Request Netzwerkprogrammierung 6
aze Tcp Verkehr eines Applets simulieren Netzwerkprogrammierung 10
J Socket Erreichbarkeit eines Java Servers (Socket-Lösung) über das Internet Netzwerkprogrammierung 3
clupus Exception beim Schließen eines Sockets Netzwerkprogrammierung 6
cowabunga1984 Transferierte Datenmenge eines SOAP Clients (JAX-WS) anzeigen Netzwerkprogrammierung 2
K TrafficClass eines UDP Pakets kommt beim Empfänger nicht an Netzwerkprogrammierung 5
musiKk Problem bei bidirektionaler Nutzung eines Socket Netzwerkprogrammierung 2
J Machbarkeit eines Bluetooth-Servers? Netzwerkprogrammierung 2
S Realisierung eines Netzwerkcodes für ein Strategiespiel Netzwerkprogrammierung 7
K "Ende eines Sockets" Netzwerkprogrammierung 9
A Broadcast - senden eines Packetes an alle rechner im netz Netzwerkprogrammierung 15
P problem beim schließen eines Streams Netzwerkprogrammierung 6
K Mit Java-MailAPI dir Verfügbarkeit eines SMTP-Servers prüfen Netzwerkprogrammierung 4
J while-Schleife / Abbruchbed. beim Einlesen eines Streams Netzwerkprogrammierung 4
U Ende eines Inputstreams ermitteln Netzwerkprogrammierung 3
J Länge eines Streams Netzwerkprogrammierung 4
T Timeout eines KSOAP-Calls Netzwerkprogrammierung 5
G Info eines Webseites kopieren Netzwerkprogrammierung 16
J Antwort eines Soaprequests parsen mittels org.apache.soap Netzwerkprogrammierung 2
E Möglichkeit zum Timeout eines Process Netzwerkprogrammierung 7
T Erstellung eines Proxy Netzwerkprogrammierung 11
T Pfad eines Servlets rausfinden Netzwerkprogrammierung 2
O Einbinden eines java-servers Netzwerkprogrammierung 9
C Übergabe eines Datensatzes (Übergabestruktur) Netzwerkprogrammierung 12
G Verzeichnis eines Rechners übers Netzwerk auslesen Netzwerkprogrammierung 5
B Problem mit der Ausgabe eines Strings an SocketOut Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben