2016-07-25 6 views
3

Wenn ich den Cluster lokal aktiviere oder ausprobiere, sehe ich auf meinem lokalen Computer eine drastische Rückgriffsschwäche .Azure Service Fabric - Verbesserung der lokalen Leistung

Ich frage mich, ob Sie eine Möglichkeit zur Minderung dieser negativen Auswirkungen empfehlen können (SW & HW)?

Zusätzliche Informationen:

Es ist wichtig zu verstehen, dass der Service Fabric lokalen Cluster ist kein Emulator oder Simulator. Es wird derselbe Plattformcode ausgeführt, der in Multi-Computer-Clustern gefunden wird. Der einzige Unterschied besteht darin, dass die Plattformprozesse ausgeführt werden, die normalerweise auf fünf Maschinen auf einer Maschine verteilt sind.

https://azure.microsoft.com/en-us/documentation/articles/service-fabric-get-started-with-a-local-cluster/

Ein obwohl ich hatte, war eine weitere SSD hinzuzufügen, so dass das Betriebssystem und Service-Stoff wird auf dem Bus Ressource nicht konkurrieren. Nach dem Hinzufügen dieser SSD und der Verwendung von PowerShell zum Verschieben des Clusters auf das neue Laufwerk (das ohne das Betriebssystem) kann ich einen vernachlässigbaren Effekt sehen. Betrachtet man den Leistungsmonitor, scheint es, dass der Großteil des IO immer noch auf das Hauptlaufwerk (OS) geht. Irgendwelche Gedanken?

Ich habe eine Standard-dev Maschine mit den folgenden Spezifikationen:

  • Neuere i7 CPU
  • 16GB RAM
  • Eine SSD
  • und einen großen Monitor (nur :-)
Scherz

Diese Frage könnte auch gut für das HW Forum passen

+0

Und der Moment, auf den wir alle gewartet haben: 1-Node lokalen Cluster für schnelleres Debuggen ist hier als Teil von SDK 2.2. https://blogs.msdn.microsoft.com/azureservicefabric/2016/09/13/release-of-service-fabric-sdk-2-2-207-and-runtime-5-2-207/ –

Antwort

4

Das Service Fabric-SDK erstellt auf dem Dev-Computer einen 5-Knoten-Cluster. Dies bedeutet, dass jeder Systemdienst über 5 Instanzen (Prozesse) verfügt. Sie können die Anzahl der Knoten auf 3 reduzieren (das Minimum).

Um dies zu tun, müssen Sie das Cluster-Manifest manuell bearbeiten und neu erstellen. Das Manifest befindet sich an

%ProgramFiles%\Microsoft SDKs\Service Fabric\ClusterSetup\NonSecure\ClusterManifestTemplate.xml

  • löschen NodeType3 und NodeType4
  • löschen _Node_3 und _Node_4
  • Wechsel: ExpectedClusterSize-2, TargetReplicaSetSize-3 und MinReplicaSetSize-2 (erscheint mehrmals, man könnte versuchen Sie niedrigere Werte hier, ich hatte keine Gelegenheit, es zu testen)

Hinweis: Sie müssen diese Änderungen jedes Mal anwenden, wenn Sie das SDK aktualisieren.

Nachdem Sie die Datei gespeichert haben, erstellen Sie den lokalen Cluster neu (z. B. mithilfe der Cluster Manager-Taskleiste).

Darüber hinaus sollten Sie sicherstellen, dass bei der Bereitstellung der Anwendungen auch die Standardeinstellungen für die lokale Bereitstellung (z. B. Instanz- und Partitionsanzahl auf 1 festgelegt) vorhanden sind. Diese erscheinen normalerweise in der Parameterdatei Local.xml.

Eine letzte Sache, die Sie versuchen könnten, ist die Konfiguration Ihrer Service-EXEs als "Windows-Anwendung" und nicht als "Konsolenanwendung" (in den Projekteigenschaften jedes Dienstes), wodurch die Anzahl der conhost.exe Prozesse reduziert würde.

+5

In der nächsten Release des SDK (2.2) haben wir Änderungen an der Erfahrung mit dem lokalen Cluster vorgenommen, indem wir einen alternativen 1-Knoten-Cluster-Modus für schnellere Code-Iterationen eingeführt haben. Erwarten Sie, dass das SDK in einigen Wochen verfügbar sein wird. –