9 Replies Latest reply on Jul 17, 2013 1:45 AM by NicoS1

    Paket-Download beschleunigen

    derniwi Master
      Hallo,

      ich habe immer wieder folgendes "Problem": ein Paket braucht relativ lange, um auf den Rechner übertragen zu werden:
      09:26:00.017 0      SWMSClntLib: Waiting for download to finish.
      09:27:59.316 0      SWMSClntLib: Package is available now.


      Dabei ist es oft egal, ob das Paket gerade neu distributiert wurde (das muss ja auf dem Server nochmal in den Cache geladen werden), aber auch bei bereits ausgerollten Paketen. Im obigen Beispiel sind es zwei Minuten... manchmal dauert es auch länger. Und das auch bei relativ kleinen Paketen, wo ich nur ein kleines eScript ohne sonstige Dateien verwende.

      Kann man da den Systemen etwas auf die Sprünge helfen? Netzwerk- sowie CPU-Auslastung sind auf einem niedrigen Wert.

      Gruß
      Nils
        • 1. Re: Paket-Download beschleunigen
          NicoS1 Master
          Hallo Nils,

          das Paket muß auf dem Server normal nicht in den Cache geladen werden. Es wird direkt aus dem Install Ordner geladen.

          Was in einer Umgebung mal eine enorme Performancebremse beim Paketdownload war, war der Virenscanner auf dem Server. Dort haben wir das Netinstall Share dann in die Ausnahmen aufgenommen, und Schwupp dauerte unser 2 GB Paket nicht mehr 45, sondern nur noch 3-5 Minuten zum Download.

          Du nutzt schon ein SMB-Depot, und kein HTTP Depot, oder?
          Auch keine komprimierte Site, oder NTFS Komprimierung auf dem Install Share.
          Und wenn du das Paket einfach mal per Explorer runter auf den Client kopierst, dauert das auch so lange?
          • 2. Re: Paket-Download beschleunigen
            derniwi Master
            Hallo Nico,

            den Virenscanner habe ich auf dem Server mal deaktiviert.
            Ich nutze ein SMB-Share, keine komprimierte Site und auch keine NTFS-Komprimierung.

            Ich habe jetzt mal das Paketverzeichnis mit dem Explorer kopiert, aber das ging so schnell, dass nicht mal der Kopieren-Dialog zu sehen war... ;-)
            Das Verzeichnis ist kleiner 10MB.

            Ich sehe halt nur immer mal wieder, dass wenn der Installer anläuft (egal, ob Service oder Auto-Installer), diese Meldung im Log auftaucht. Ich kann auch den Task-Manager offen haben und den Installer manuell anstoßen, und dann kann das auch durchaus auftreten. Und dann sehe ich aber keine Last, weder auf dem Server noch auf dem Client...

            Gruß
            Nils
            • 3. Re: Paket-Download beschleunigen
              Markus.Zierer Expert
              Hallo,

              ich glaube eher nicht, dass dein Problem am Serverseitigen Virenscanner liegt. Ich denke viel mehr, das liegt am Virenscanner am Client. Wenn das RepoCache auf dem Client nicht vom OnAccess Scanner ausgenommen ist, wird jedes Bit, welches Du übers Netz überträgst erstmal gescannt. Und das kann, je nach Virenscanner, die Performance schon ziemlich in den Keller ziehen.

              Du solltest auf jeden Fall die Exclusions auf Client Seite richtig definieren. Es gibt auch ein Whitepaper in welchem Beschrieben wird, welche Verzeichnisse in ner DSM Umgebung vom Virensanner ausgenommen werden sollten.
              • 4. Re: Paket-Download beschleunigen
                derniwi Master
                Ja, den Virenscanner hatte ich auch schon im Verdacht, aber auf dem Client habe ich ihn ebenfalls deaktiviert. Keine Verbesserung. Wie gesagt, keine Last auf den Netzwerkschnittstellen, keine CPU-Last...

                Es sieht so aus, als ob das Paket nicht vorhanden ist, also wartet man erst mal etwas. Oder es wird ein Kopiervorgang gestartet und an dessen Ende wird gewartet. Wobei diese Zeit nicht immer 120 Sekunden beträgt, aber immer so im Bereich der zwei Minuten, mal 10 Sek. weniger...

                Sehr seltsam...
                • 5. Re: Paket-Download beschleunigen
                  NicoS1 Master
                  Virenscanner verursacht nicht immer CPU / Netzwerklast. Je nachdem was eingesetzt wird unter anderem auch nur I/O Last. Aber okay... du hast ihn ja durch deaktivierung ausgeschlossen.

                  Nächster Schritt:
                  Report Level auf 0 (Debug) setzen, und wenn das Problem wieder auftritt, schaust du dir mal unter NiLogs\JobQueues das jeweilige FPSStaging Log genauer an, vielleicht wirst du (und wir) da draus etwas schlauer.
                  • 6. Re: Paket-Download beschleunigen
                    derniwi Master
                    Hallo Nico,

                    das hat schon etwas gebracht:
                    08:51.18.359  1              FPS.dll  --------------- FpsOpenFilePackage finished ---------------
                    08:51.18.359  1              FPS.dll 
                    08:51.18.359  0              FPS.dll  PackageRevision = R1
                    08:51.18.359  0              FPS.dll  Compressible = 1
                    08:51.18.359  0          FPSClnt.dll  Preferring uncompressed transfer of package.
                    08:51.18.359  0              FPS.dll  Package needs to be copied into cache: yes
                    08:51.18.359  0          FPSClnt.dll  Cache is needed. Downloading package.
                    08:51.18.359  1              FPS.dll 
                    08:51.18.359  1              FPS.dll  --------------- FpsMakeFilePackageAvailableInCache interface called ---------------
                    08:51.18.359  0              FPS.dll  Modifying path 'C:\Program Files (x86)\Common Files\enteo\RepositoryCache\8202\' to '\\?\C:\Program Files (x86)\Common Files\enteo\RepositoryCache\8202\'.
                    08:51.18.359  0              FPS.dll  Modifying path 'C:\Program Files (x86)\Common Files\enteo\RepositoryCache\8202\' to '\\?\C:\Program Files (x86)\Common Files\enteo\RepositoryCache\8202\'.
                    08:51.18.359  0              FPS.dll  Provider with no authentication requested.
                    08:51.18.374  0              FPS.dll  Will save cache FPI because FPI header between server and cache differs.
                    08:51.18.374  1              FPS.dll 
                    08:51.18.374  1              FPS.dll  Computing differences between source and cached FPI...
                    08:51.18.374  0              FPS.dll  Source package size is  3.73 kB
                    08:51.18.374  0              FPS.dll  Cache package size is  3.70 kB
                    08:51.18.374  0              FPS.dll  After downloading the package will occupy 25 bytes more in the cache.
                    08:51.18.374  0              FPS.dll  Got permission to download files into the cache.
                    08:51.18.374  2              FPS.dll  FPI file saved to: \\?\C:\Program Files (x86)\Common Files\enteo\RepositoryCache\8202\rev\1\package.fpi
                    08:51.18.374  1              FPS.dll  Performing all needed actions to get us up to date with the source...
                    08:51.18.374  1              FPS.dll  Creating path 'Extern$\'.
                    08:51.18.374  1              FPS.dll  Copying file 'Script.inc'.
                    08:51.18.374  0              FPS.dll  Copy file from '\\?\UNC\DSM\DSM$\Install\Master\Projects\8202\rev\1\Script.inc' to '\\?\C:\Program Files (x86)\Common Files\enteo\RepositoryCache\8202\rev\1\Script.inc'
                    08:51.18.374  0              FPS.dll  Destination file 'Script.inc' already exists and is smaller than the source file (1720 <= 1745). Resuming data transfer.
                    08:51.18.374  0              FPS.dll  Data transfer will be resumed: Switching CRC method to check the destination file after copying to ensure data integrity.
                    08:51.18.374  0              FPS.dll  Received new options.
                    08:51.18.374  0              FPS.dll  Current activity for this file transfer is 'Normal activity'. 90% of available bandwidth is used.
                    08:51.18.390  0              FPS.dll  Computing CRC of destination file 'Script.inc'.
                    08:51.18.390  2              FPS.dll  CRC mismatch between destination file and the CRC in the FPI.
                    08:51.18.390  1              FPS.dll  Sleeping 120000 milliseconds before retrying file copy up to 1 times.

                    08:53.18.392  0              FPS.dll  Bandwidth control is disabled.
                    08:53.18.392  0              FPS.dll  Received new options.
                    08:53.18.392  0              FPS.dll  CRC check of source file completed successfully
                    08:53.18.392  0              FPS.dll  File 'Extern$\test1.vbs' is already up to date.
                    08:53.18.392  0              FPS.dll  File 'Extern$\test2.vbs' is already up to date.
                    08:53.18.392  1              FPS.dll  Creating path 'Extern$\'.
                    08:53.18.392  2              FPS.dll  Fully up to date with source now.
                    08:53.18.392  2              FPS.dll  FPI file saved to: \\?\C:\Program Files (x86)\Common Files\enteo\RepositoryCache\8202\rev\1\package.fpi
                    08:53.18.408  0              FPS.dll  Path to project root: '\\?\C:\Program Files (x86)\Common Files\enteo\RepositoryCache\8202\rev\1\'
                    08:53.18.408  1              FPS.dll  --------------- FpsMakeFilePackageAvailableInCache finished ---------------
                    08:53.18.408  1              FPS.dll 
                    08:53.18.408  0    FpsJobHandler.dll  File package '8202' is now available from '\\?\C:\Program Files (x86)\Common Files\enteo\RepositoryCache\8202\rev\1\'.
                    08:53.18.423  0    FpsJobHandler.dll  Job {F6E5871A-41EF-4A2A-81BF-C0432C126C40}: Download von Paket '8202' (from depot 65962, revision R1, path '.\Install\Master\Projects\8202') beendet.
                    08:53.18.423  2              FPS.dll  Closing the file package '\\?\UNC\DSM\DSM$\Install\Master\Projects\8202\rev\1\'.
                    08:53.18.423  0         nwcmclnt.dll  Logout Nwcm succeeded with Service-User
                    08:53.18.423  0              FPS.dll  Successfully logged out from remote resource.
                    08:53.18.423  2  LocalJobManager.dll  Job '{F6E5871A-41EF-4A2A-81BF-C0432C126C40}' executed with result code 'Ready'.
                    08:53.18.423  0  LocalJobManager.dll  Job took 120127 ms.
                    08:53.18.423  : End Of Logfile


                    Aber was geschieht da jetzt? Der Rechner stellt fest, dass die Script.inc geändert wurde und möchte den Download fortsetzen? Sollte hier nicht das Kopieren gleich neu gestartet werden?

                    Ein Fortsetzen des Downloads macht doch nur dann Sinn, wenn dieser vorher gestoppt bzw. unterbrochen wurde. Aber bei einer Paketänderung müsste dieser neu starten, oder?

                    Gruß
                    Nils
                    • 7. Re: Paket-Download beschleunigen
                      NicoS1 Master
                      Also, zu dem CRC Fehler kann ich leider nicht wirklich was sagen. Könnte sein, dass da der Hund noch wo anders begraben liegt... aber...

                      ...schau mal in deine Infrastruktur... in deine Site... Experteneinstellungen aktivieren unter "Staging Einstellungen".

                      "Einstellungen für erneuten Download-Versuch von Paketen". Dort kannst du eine Verzögerung festlegen... steht die evtl. auf 120000ms?

                      Das ist der einzige Punkt der mir Einfällt wo man Verzögerungen beim Staging Einstellen kann. Mit dem CRC Fehler, wäre es evtl. ein Punkt für den DSM Support.
                      • 8. Re: Paket-Download beschleunigen
                        derniwi Master
                        Ja, die Einstellung habe ich schon gefunden. Mir ist nur nicht klar, wieso hier kein erneuter Download, quasio von 0, ausgeführt wird.

                        Ein Fortsetzen ist ja schon ok, wenn der Download abgebrochen wurde. Aber... Moment...
                        Ach so, da steht's ja:
                        08:51.18.374  0              FPS.dll  Destination file 'Script.inc' already exists and is smaller than the source file (1720 <= 1745). Resuming data transfer.
                        08:51.18.374  0              FPS.dll  Data transfer will be resumed: Switching CRC method to check the destination file after copying to ensure data integrity.

                        Das bereits vorhandene Script ist kleiner, also wird angenommen, dass der letzte Download unterbrochen wird... ok, dann muss ich eigentlich nur dafür sorgen, dass bei den Testpaketen das neue Skript kleiner wird, und nicht größer...
                        Ok, dann weiß ich jetzt, woher das kommt.

                        Danke für die kompetente Hilfe!

                        Gruß
                        Nils
                        • 9. Re: Paket-Download beschleunigen
                          NicoS1 Master
                          Ja, das würde Sinn machen. Ich denke mal, das passiert, wenn man Pilotinstallationen benutzt Beim normalen Revisionieren wäre das nicht passiert.

                          Ist wohl etwas unglücklich... aber naja. P.S.: Bei uns ist 3 maliger Paketdownload mit 5000ms Verzögerung eingestellt. Damit hatten wir bisher keine Probleme.