Netzwerk für Server - Client Betrieb optimieren

Sequoia

Lt. Commander
Registriert
Juli 2003
Beiträge
1.092
Hallo Zusammen,

wir setzen in der Firma einen kleinen Server ein, sowie diverse Client PCs. Alle Windows XP Pro.
Auf dem Server läuft ein Lohn-Rechnungs-Kunden Programm (sehr komplex, sehr teuer, usw.)

Die Clients, sowie der Server haben je 1 GBit Netzwerkkarten, der Switch ist auch 1 GBit (von DLink, Green IT). Das Programm ist so ausgelegt, dass die Datenbank auf dem Server via Freigabe für die Clients erreichbar ist.

Nun besteht das Problem, wenn eine Mitarbeiterdatei mit vielen Datensätzen geöffnet wird, so dauert es hier knapp 40 Sekunden. Lt. Vorgabe der Herstellerfirma ist das wesentlich zu lange, auch andere Kunden des Programms berichten von 2-5 Sekunden.

Ich habe beim Öffnen sowohl auf dem Server, als auch auf dem Client einmal den Taskmanager laufen lassen.
Die CPU Auslastung ist je Core nie über 30% gegangen, der Arbeitsspeicher ist zu 60% belegt, die Auslagerungsdatei nur mit 600MB und die HDD arbeitet nicht übermäßig.

Daher vermute ich, dass es irgendwie doch am Netzwerk liegt?

Gibt es unter Windows Einstellungen und Kniffe, womit man die Priorität auf den Netzwerktransfer legen kann?
 
Wie groß ist die Datei mit den Datensätzen denn?

Erfahrungsgemäß hab ich unter WinXP mit der Windows-Dateifreigabe/Samba und einfachen OnBoard-Gigabit-Netzwerkkarten nie mehr als 20-30MB/s hin bekommen und das auch bei geringer Systemauslastung.

Daher würde es mich nicht wundern, dass eine paar hundert MB große Datei ~40 Sekunden zum Abruf benötigt. Vorallem, wenn auf dem Server und Client ggf. dann auch erst noch ein Virenscanner drüber läuft.
 
Die Datenbank ansich ist 2,5 GB groß, aber die wird ja nicht komplett geladen. Dazu ist ja der Server da, dass er die requesteten Datensätze überträgt, nicht die ganze Datenbank?!
Beim Kopieren von einer Datei zum Server erreiche ich 25-30 MB/s.

Virenscanner sind auf allen Systemen Avira Premium.
Kann es evtl. schon daran liegen?
 
Sorry, "Datenbank auf dem Server via Freigabe" hörte sich für mich nicht direkt nach einem Datenbankverwaltungssystem mit richtigem Datenbankserver, sondern mehr nach Dateien auf einer Windows-Freigabe an.

Zunächst würde ich mal das Clientprogramm auch auf dem Server installieren und dort die Abrufgeschwindigkeit testen. Damit könnte man dann ggf. das Netzwerk sicher als Fehlerquelle ausschließen.
Das ganze ist natürlich nur aussagekräftig, wenn der Server dabei nicht voll ausgelastet wird, da man dann nicht mehr sagen kann, was dann hier am stärksten bremst!

Bei direkten Verbindungen zwischen einem Datenbankserver und einem Client dürfte normalerweise ein klassischer Virenscanner keine Rolle spielen, da er i.d.R. nicht in diese Verbindungen rein guckt. Das wäre dann eher Aufgabe einer Firewall oder eines Intrusion Detection/Prevention System - testweise würde ich einfach mal probieren derartige Schutzsoftware temporär zu deaktivieren.
 
Doch, es handelt sich tatsächlich um einen Datenbankserver (das Programm ist von der Firma Addison, ca. 30k€).
Die Lösung mit der Windowsfreigabe kommt vom Hersteller selbst.
Ich habe es gerade einmal direkt auf dem Server getestet.

Der Vergleich:
Server mit Client Programm = 14 Sekunden, um einen Mandanten aufzurufen (CPU Auslastung 2x unter 20%)
Client = 43 Sekunden (CPU Auslastung siehe oben)

Also scheint es in der Tat irgendwie am Netzwerk zu liegen.

Kann das mit irgendwelchen MTU Einstellungen usw. zu tun haben?
 
Handelt es sich um ein Serverbetriebssystem (2K/2003/2008 mit Terminalserver) oder nur um einen XP Rechner, der den Server "spielt".
 
Nur um einen XP Rechner, der Server spielt.

Zuvor war es Windows 2000 Advance Server, dafür wurde die Unterstützung allerdings seitens Addison zum Januar eingestellt.

Zur Addison Server Software gehört der Datenbankserver "Fastobjectsserver 10.0". Dieser startet als Systemdienst auf dem Server. Nur wenn dieser läuft, ist Zugriff via Clients auf die Datenbank vorhanden
 
Wäre es denn nicht besser auf Server 2003/2008 und einem Terminalserver aufzurüsten oder unterstützt die Software das nicht? XP ist nicht der Bringer wenn er als Server missbraucht wird. Auf dem "Server" wird auch noch gearbeitet oder steht der nur in einer Ecke und "servt"? Du kannst natürlich versuchen die MTU Werte zu verändern, ob es Sinn macht, denke mal nicht.
 
Der Server steht nur in der Ecke, und servt... Er ist auch nur zu diesem Zweck da, hat weder Monitor, noch Maus noch Tastatur.

Wie könnte man da an der MTU spielen?
Aber ich vermute das Problem fast woanders, denn kopieren übers Netzwerk geht ja recht fix
 
Denke mal eher es liegt an XP.
 
Was für eine Hardware-Ausstattung hat denn der Server?
Wenn die Festplatte am Limit ist, ist es klar, dass die CPU nicht ausgelastet ist.

Hier mal paar Tips:
- Server Betriebssystem (beim Server 2008 wurden viele Netzwerkkomponenten überarbeitet)
- Ordentlich Arbeitssepeicher in den Server (8 GByte bekommt man praktisch geschenkt)
- Allgemein Server-Hardware mit SSDs oder Platten mit mindestens 10.000 U/Min und nicht "die alte 5400er 20 GB, die noch da rumlag"
- Bei einem Server ist dann auch eine gescheite Netzwerkkarte drin und keine, die sich eventuell sogar mit dem IDE Controller den PCI Bus teilt.
- Raid 1/5 wenn eine Platte ausfällt, damit nicht die ganze Abteilung auf Standby gehen muss, wenn mal ne Platte ausfällt.

Dass die Datenbank über eine Freigabe erreichbar ist macht mich etwas stutzig, dann kann das eigentlich garnicht Performant laufen.
Nicht umsonst kann man z.B. beim Microsoft SQL Server eine Datenbank nicht auf einem Netzlaufwerk verwenden. Ein Datenbankserver hat typischerweise sehr viele "kleine" Datenbankzugriffe.
Dadurch ist die Performance extrem von der Latenz abhängig - und die ist eben über eine Dateifreigabe sehr viel höher als lokal.
Die Latenz zwischen Datenbankserver und Client ist dann nichtmehr so kritisch, weil das Ergebnis einer Abfrage meist "am Stück" geliefert wird und einen die Latenz der Verbindung nur 2mal ausbremst.

Gruß,
David.
 
Die Addison Software auf einem XP "Server"? Hast Du mal nach den Hardwareanfordeungen und den unterstützen Betriebssystemen von Addison geschaut? Ich habe vor ca. 6 Monaten Addison installiert, allerdings auf einem Terminal Server. Der Datenbankserver ist hierbei natürlich ein separater Server.

BTW: Addison läuft tatsächlich über eine Freigabe auf dem Server. Das hatte mich auch erstaunt.
 
Zuletzt bearbeitet:
Zurück
Oben