RMI delay windows(client) <-> linux(server)

Status
Nicht offen für weitere Antworten.

Tallan

Bekanntes Mitglied
Hallo zusammen,

mir ist fogledens aufgefallen.

Ich habe einen Client und einen Server

Wenn der Server auf einem Linux system läuft benötigt der Client für die erste Anfrage ~5 Sekunden
danach für die selbe oder ähnliche Funktion sogut wie keine Zeit.

Das Problem tritt nur in der Linux-Server, Windows-Client konstellation auf.
Die beiden Rechner hängen um andere Ursachen auszuschließen nur an einem Switch und kommunizieren über statische IP Adressen.
Da Linux auf Linux einwandfrei funktioniert schließe ich probleme mit der jdk version fast aus ( hier habe ich auch mehrere getestet, leider ohne erfolg ).

Hat jemand eine Idee woran das liegen könnte?
 
T

tuxedo

Gast
Meinst du mit "1. anfrage" wirklich den ersten Remote-Call, oder hast du da den Lookup mit eingerechnet?

- Alex
 

Tallan

Bekanntes Mitglied
In dem Fall wird etwas mehr gemacht, der Client logt sich ein und bekommt daten vom server.
Beim ersten Login dauert es ~5-7 Sekunden. Beim Login eines LinuxClients hat der User keine warnehmbare Wartezeit, ebenso nicht wenn der Server auf Windows läuft, selbst dann nicht wenn die Datenbank weiterhin auf einem 3ten Rechner ( Linux ) liegt.

Es ist daher denke ich irrelevant wieviel die Methode letztendlich macht, zumal es in jedem fall immer exakt das selbe ist und dabei einmal fast instant und in der windows linux Konstellation 5Sekunden + dauert. Wenn ich den User dann abmelde und wieder anmelde entfällt die Wartezeit obwohl hier wieder genau das gleiche passiert, daher vermute ich das es ein Problem bei der ersten Kontaktaufnahme gibt.
 
T

tuxedo

Gast
Also um das nochmal zusammenzufassen:

Windows Client + Linux Server:

Client startet das erste mal und macht den Lookup: Dauert ca. 5sek.
Client wird beendet und nochmal gestartet: Diesmal dauerts keine 5sek.

Richtig so?

In dem Fall: Hmm, verdammt gute frage ... Du könntest in mal (in Windows) mit TCPView (google hilft) schauen was auf Socketebene so passiert. Evtl. gibts ja Handshake-Probleme.

Hat der Linuxrechner ne Firewall laufen?

Könntest auch mal Linux Client und Windows server probieren...
 

Tallan

Bekanntes Mitglied
Also um das nochmal zusammenzufassen:

Windows Client + Linux Server:

Client startet das erste mal und macht den Lookup: Dauert ca. 5sek.
Client wird beendet und nochmal gestartet: Diesmal dauerts keine 5sek.

Richtig so?

In dem Fall: Hmm, verdammt gute frage ... Du könntest in mal (in Windows) mit TCPView (google hilft) schauen was auf Socketebene so passiert. Evtl. gibts ja Handshake-Probleme.

Hat der Linuxrechner ne Firewall laufen?

Könntest auch mal Linux Client und Windows server probieren...

Nicht ganz

Programm startet, in der GUI kann der User sich auf dem Sever anmelden das dauert 5-7 Sekunden wenn der Client unter Windows läuft und der Server unter Linux.
Wenn der User sich abmeldet( Programm selbst bleibt offen ) und ein neuer User sich anmeldet geschieht die anmeldung quasi instant.
Ebenso bei allen anderen Kombinationen was Windows , Linux, Client und Server angeht ist dieser Login fast instant auch beim ersten mal.
Wenn ich das Programm neu starte läd die Gui ( hier werden die Sockets eigentlich schon aufgebaut )
aber ich rufe noch nichts per rmi selbst auf.
Dann Logt der User sich ein -> 5-7 Sekunden warten der rest ist wieder extrem schnell, selbst methoden die wesentlich mehr an Daten übertragen sind sogut wie instant.
 

mfernau

Bekanntes Mitglied
Ich tippe da jetzt ebenfalls auf den Lookup von RMI.
Wie tuxedo bereits fragte, ist doch hier die frage WO genau der Delay entsteht. Auf eine Programmzeile herunter gebrochen wird das wohl möglich sein.
Da Du mit RMI arbeitest gehe ich davon aus, dass Du weisst, was mit dem Lookup gemeint ist!?
Zur Sicherheit: Wie lange dauert in etwa ein
Java:
Registry reg = LocateRegistry.getRegistry(host,port);
MyRMIServer server = (MyRMIServer)reg.lookup("MyRMIServer");
 

Tallan

Bekanntes Mitglied
Der lookup findet bereits beim Programmstart statt, und geht sehr schnell
das eigentlich Problem tritt erst beim ersten Aufruf einer RMI Methode auf.

Das ganze läuft vereinfacht so ab :
ClientProg startet (hierbei wird der lookup schon durchgeführt)
Über die GUI kann der User sich jetzt auf dem Server anmelden ( erstmaliger aufruf einer RMI Methode )
Hierbei geht die GUI in einen Ladestatus bis der Server ihm eine SessionID zuweist. Das dauert im Problemfalls 5-7 Sekunden.
Melde ich den User nun ab und einen anderen an geht dies instant ( hier passiert in der Methode exakt das selbe wobei natürlich eine andere SessionID erstellt wird... )

Wenn ich das Programm ganz schließe und neu starte entsteht wieder die Verzögerung, allerdings nur in der Kombination Windows Cleint - Linux Server in allen anderen möglichen Kombinationen ist die Anmeldung zeitlich für den User fast garnicht zu erfassen.
 
Zuletzt bearbeitet:

mfernau

Bekanntes Mitglied
Nimm Dir mal wireshark zur Hilfe und schau mal ob der erste Aufruf eine RMI-Methode ein Kommunikationsproblem ist (Pakete brauchen lange bis sie beantwortet werden), oder ob die ersten Pakete lange brauchen bis sie raus gefeuert werden. Oder ob vielleicht noch X andere Netzwerk-Calls zuvor gemacht werden, die anschließend nicht mehr nötig sind (irgendwelche DNS oder ARP Auflösungen usw)
 
T

tuxedo

Gast
Du könntest mal noch auf Serverseite messen wie lange die Methode läuft bis sie das Ergebnis zurück liefert. Vielleicht liegts ja gar nicht an RMI ...

- Alex
 

Tallan

Bekanntes Mitglied
ich werde den test mit wireshark machen,
@alex an der laufzeit der rmi methoden kann es eigentlich nicht liegen da diese ja in allen anderen fällen sogut wie instant ist
auch mit dem selben server wenn der client ein andere linux rechner ist.
 
T

tuxedo

Gast
Zwischen "kann eigentlich nicht sein" und "ich habs ausprobiert und kanns zu 100,00% ausschließen" können ganze Galaxien liegen.

- Alex
 

Tallan

Bekanntes Mitglied
ok hat sich erledigt, ich hab grad mit wireshark die verbindung unter die lupe genommen
und der aufruf war wieder instant, allerdings habe ich vorher das linux system noch aktuallisiert wobei hier die jdk und jre ein update bekommen hat das scheint wohl ursache des problems gewesen zu sein.

Trotzdem Viele Dank für die Hilftestellungen.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
windl Windows vs Linux Netzwerkprogrammierung 11
X Mit Java eine Applikation auf einem anderen Windows Rechner (Windows Server 2008) starten Netzwerkprogrammierung 1
U Socket Instant Messanger (Server Linux, Client Windows) Netzwerkprogrammierung 1
T Windows-Anmeldung weiterreichen? Netzwerkprogrammierung 4
J Eclipse: Windows-Dienst auf fremden Host aktivieren Netzwerkprogrammierung 14
S soap kann nicht zu 127.0.0.1:8090 unter Windows verbinden Netzwerkprogrammierung 2
B Die IPv4 Einstellungen ändern (Windows 7) Netzwerkprogrammierung 9
N Socket geht auf Windows, aber auf Mac nicht ? Netzwerkprogrammierung 3
aze JPCap unter Windows 7(64 Bit) Netzwerkprogrammierung 6
Dit_ UDP Port bestimmen | Windows, MAC, Linux... Netzwerkprogrammierung 2
J Windows Unix remote Netzwerkprogrammierung 2
C SingleSignOn auf Client mittels Windows Credentials Netzwerkprogrammierung 11
multiholle RMI Verbindung Linux <-> Windows Netzwerkprogrammierung 4
DeviAn Über ein Linux Server ein Windows Server nach einer File fragen Netzwerkprogrammierung 6
W Terminal-Server (Windows 2003) und Java Netzwerkprogrammierung 9
Q Datein von Windows nach Mac senden Netzwerkprogrammierung 4
L RMI Programm beendet ohne Fehler sofort nach Start (Windows 2000) Netzwerkprogrammierung 7
KNeuhaus (Windows) Authentication VON einer Java-App aus. Netzwerkprogrammierung 2
K Windows 10 Threads gleichzeitig Netzwerkprogrammierung 18
G Windows-Verbindungen Netzwerkprogrammierung 4
K Server Client läuft in Windows allerdings nicht in Linux Netzwerkprogrammierung 9
K Windows TCP/IP Einstellungen ändern Netzwerkprogrammierung 4
B Internetverbindung prüfen unter Windows Netzwerkprogrammierung 1
H freigabe - unterschiedliche pfade unter linux und windows Netzwerkprogrammierung 7
S Windows-Share? Netzwerkprogrammierung 2
D Anmelden an einer Windows-Domäne Netzwerkprogrammierung 2
G Ich krieg bei mir zuhause nichts auf die Reihe(Windows XP) Netzwerkprogrammierung 8
C Windows-Username sicher einlesen Netzwerkprogrammierung 11
S Unix Datei vom Server nach Windows übertragen Netzwerkprogrammierung 8
G Update - Funktionalität wie Windows Update Netzwerkprogrammierung 11
G Java und Netzwerkumgebung von Windows Netzwerkprogrammierung 5
R PID's auf remote PC unter Windows herrausfinden Netzwerkprogrammierung 2
M IP Adressen auslesen und in Windows/Linux übergeben Netzwerkprogrammierung 5
M Windows NT Domainnamen abfragen Netzwerkprogrammierung 3
I Performanteste Kommunikationsmethode zwischen Client u. Server Netzwerkprogrammierung 4
L Socket Automatische Zuweisung von Server und Client Rolle Netzwerkprogrammierung 12
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
M Server-Client-System für Browsergame Netzwerkprogrammierung 5
B Axis2 Webservice mit Client Zertifikat Authentifizierung Netzwerkprogrammierung 3
Yonnig Threads mit Client/Server und GUI (laufend bis button-click) Netzwerkprogrammierung 9
T Jetty mit Client-Zertifikat nur bei spezifischer URL Netzwerkprogrammierung 1
J Einlesen von Servernachrichten von TCP-Client Netzwerkprogrammierung 17
J Client-Server und SOAP Netzwerkprogrammierung 23
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
D Server - Client Informationsaustausch, Möglichkeiten Netzwerkprogrammierung 3
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
T Client zu Client Kommunikation Netzwerkprogrammierung 2
D Slf4j - Logging - Client-Server Architektur Netzwerkprogrammierung 3
J client server mit nur einem PC Netzwerkprogrammierung 33
M Socket Nachricht von TCP-Client an Server schicken Netzwerkprogrammierung 12
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
R Socket FATAL EXCEPTION MAIN bei Socket based client/server app Netzwerkprogrammierung 2
G Server-Client IO Problem Netzwerkprogrammierung 6
ruutaiokwu ständig "sender address rejected: improper use of smtp" bei smtp-client Netzwerkprogrammierung 4
J HTTP [Java 9] Neuer HTTP Client - Tutorial Netzwerkprogrammierung 3
A Chatserver/-client - Code stoppt bei readUTF() Netzwerkprogrammierung 7
I Socket Das erste Server-Client Programm Netzwerkprogrammierung 16
L Zugriffprobleme Client - Webservice AspenTechnology Netzwerkprogrammierung 0
A Client Client Übertragung Netzwerkprogrammierung 12
M Socket Server antwortet dem Client nicht Netzwerkprogrammierung 6
K Socket Netty Client wirft Fehler! Netzwerkprogrammierung 3
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
E Objekte versenden, Client-Server Netzwerkprogrammierung 25
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
U Client Soap Verbindung wieder schließen Netzwerkprogrammierung 0
U Socket Client mit hash authentifizieren Netzwerkprogrammierung 3
F HTTP HTTP Rest Client mit TLS1.2 und selbst signiertem Zertifikat Netzwerkprogrammierung 2
P Server als Client nutzen Netzwerkprogrammierung 8
D Socket Run Args Client/Server Socket Netzwerkprogrammierung 1
Cromewell Socket Multithreaded Server und Client Netzwerkprogrammierung 1
Y Client/Server/DB communication Netzwerkprogrammierung 3
JavaWolf165 Socket mit .writeUtf etwas vom Client zum Server schicken Netzwerkprogrammierung 13
J Client - Serversocket Netzwerkprogrammierung 1
P RMI Client Server Programm über Internet Netzwerkprogrammierung 2
brainless Client Server Kommunikation verschlüsseln Netzwerkprogrammierung 13
gamebreiti Socket Server / Client Anwendung Manipulation von Objekten durch Server Netzwerkprogrammierung 9
T Socket Server/Client Kommunikation Netzwerkprogrammierung 8
N Fragen zu Sockets Client Netzwerkprogrammierung 3
F Extasys TCp Client extends Funktion Netzwerkprogrammierung 0
F Server Client Anwendung mit UDP Netzwerkprogrammierung 2
O Client zwischen XML und JSON auswählen lassen Netzwerkprogrammierung 2
A RMI Wo treten Exceptions bei RMI Aufrufen auf? Auf Client oder auf Server? Netzwerkprogrammierung 3
A ByteBuffer - Client/Server Netzwerkprogrammierung 9
A Socket Wie ein einfacher Multithreads Service mit Telnet als Client mit Observable/Observer gelöst.... Netzwerkprogrammierung 0
K C# Server - Android Client Netzwerkprogrammierung 0
T Application Client NullPointerExc Netzwerkprogrammierung 7
V TCP Client funktioniert auf Emulator aber nicht auf Smartphone Netzwerkprogrammierung 5
H Machbarkeitsfrage: TCP/IP Client (z.B. Netty) für Java Web Applcation Netzwerkprogrammierung 1
P MIME-TYPE Erklaerung, Kommunikation zwischen Client und Server Netzwerkprogrammierung 3
H HTTP REST Jersey - PUT-Beispiel von Client senden Netzwerkprogrammierung 0
J Sichere Kommunikation bei Server Client Netzwerkprogrammierung 3
T Frage zu Client-Server Applikation Netzwerkprogrammierung 2
H Socket Client/Server Socket Programmieren Netzwerkprogrammierung 1
M Theoretische Frage zu Server - Client Netzwerkprogrammierung 2
P HTTP Server / Client Netzwerkprogrammierung 1
N FTP FTP Client invalid IPv6 address (Apache Commons Net API) Netzwerkprogrammierung 6
F TCP Client, verbindung aufrecht halten Netzwerkprogrammierung 0

Ähnliche Java Themen

Neue Themen


Oben