Zur Verbesserung der Performance können ab GeoShop Version 1.2 die Upload- und Downloadprozesse auf mehrere Rechner im lokalen Netzwerk verteilt werden (Distributed Computing, s.a. GeoShop Skalierungsoption [2]). Im Folgenden werden wir jedoch nicht von Rechnern sondern von Prozessoren sprechen. Dabei spielt es keine Rolle ob der betrachtete Prozessor auf dem gleichen Hostrechner wie der GeoShop Server Prozess oder auf einem anderen Hostrechner läuft. Figur 3 zeigt einen typischen Systemaufbau:
Hostrechner 1 ist eine Dualcore Maschine mit installiertem GeoShop Server und einem zusätzlich installierten ICS Server. Hostrechner 2 ist eine Singlecore Maschine mit einem installierten ICS Server. Hostrechner 1 und Hostrechner 2 sind im lokalen Netz über das TCP/IP Protokoll verbunden. Folgende Aussagen treffen auf die Konfiguration gemäss Figur 3 zu:
Pro Prozessor Core sollte höchstens ein Server Prozess (GeoShop oder ICS Server) installiert sein. Die Installation von mehreren Server Prozessen pro Prozessor Core bringt keine Performance Verbesserungen.
Die TCP/IP Verbindung zwischen Hostrechner 1 und 2 muss gewährleistet sein, da sonst der ICS Server auf Hostrechner 2 nicht genutzt werden kann.
Die ICS Server melden sich automatisch beim GeoShop Server an oder ab. Falls zum Beispiel der Hostrechner 2 nicht mehr verfügbar ist (z.B. wegen Wartungsarbeiten) können Upload’s oder Download’s trotzdem vom ICS Server auf Hostrechner 1 durchgeführt werden. Sobald der Hostrechner 2 wieder verfügbar ist, verteilt GeoShop die Upload’s und Download’s automatisch auf alle verfügbaren ICS Server.
Falls kein ICS Server gestartet ist, werden von GeoShop keine Upload’s oder Download’s durchgeführt. Aufträge (Job’s) werden trotzdem jederzeit vom GeoShop Serverprozess angenommen. Sie werden jedoch erst ausgeführt, wenn der erste ICS Server wieder verfügbar ist.
Der ICS Server auf Hostrechner 2 muss auf das Filesystem von Hostrechner 1 zugreifen können, damit er die Upload- bzw. Downloadjobs ausführen kann (normalerweise über NTFS). Hier muss noch eine Spezialität des Windows Betriebssystems beachtet werden: Für einen normalen Windows Service ist es nicht möglich auf Dateien im Netzwerk zu zugreifen, da die entsprechenden Netzwerktreiber von Windows für normale Services nicht geladen werden. Der Service muss daher unter einem Windows Benutzer laufen, welcher Zugriff auf die benötigten Netzwerkresourcen hat (s.a. Kapitel Installation im Benutzerhandbuch [1]).
Für eine gute Performance empfehlen wir eine Multicore Maschine (mindestens 16 Cores) oder zwei über ein lokales Netz verbundene Hostrechner (mit je 8 Cores). Als Variante zu Figur 3 kann man die ICS Serverhosts in einem separaten Subnetz betreiben. Das Subnetz wird über eine zusätzliche Netzwerkkarte mit dem GeoShop Serverhost verbunden (s.a. Figur 4).
In dieser Konfiguration ist dann von aussen (d.h. vom lokalen Netz) nur der GeoShop Serverhost sichtbar. Die ICS Serverhosts sind quasi im Subnetz versteckt. Dies ist vorallem aus Sicherheitsgründen wünschenswert. Ausserdem kann im Subnetz leicht eine bessere Netzwerktechnologie (z.B. 10 GBit anstatt 1 GBit) als im Hauptnetz verwendet werden.
Falls der GeoShop Client's nur sehr langsam laufen, ist oft die DNS Auflösung schuld. Man muss daher sicherstellen, das die DNS Auflösung durch die Client's rasch durchgeführt werden kann (z.B. durch Einträge in der lokalen Datei hosts), bzw. man sollte die DNS Auflösung vermeiden (s.a. 3.1).