Clicky

20141127

Pulse sync as a Windows Service

Pulse sync is an Open Source cluster synchronization client. It provides peer-to-peer synchronization with Digtal Certificate based node authentication, compression and transport encryption. In other words, cloud synchronization without a (third party) cloud. There is client software for Windows, Mac, Linux, BSD, and Solaris.

nssm is a Windows service wrapper that enables Windows applications to run as a Windows Service, e.g. doing background tasks.

To run pulse.exe (the 32bit or 64 bit version) as a Windows Service just download nssm and issue the next command line:

nssm install Pulse "%ProgramFiles%\Pulse\Pulse.exe" -home "%LOCALAPPDATA%\Pulse" -logfile="{PATH to logfile}\pulse.log"

Just do a net start pulse and Pulse runs in the background. However, there is a problem. Pulse can consume considerable CPU resources. This can mitigated by selecting a specific CPU core for the Pulse process and, when you really want the reduce the Pulse resources, you can reduce the priority of the Pulse process. In my case, selecting a single core solved my performance issue.

nssm provides a method to select one or more CPU cores. This will configure a registry key and this can be done manually too. E.g. select core 3 (note: CPU cores are numbered 0,1,2,3 etc.):

nssm set Pulse AppAffinity 3



To reduce the amount of resources even more you can set the Pulse process priority with the next command:

nssm set Pulse AppPriority IDLE_PRIORITY_CLASS

Note: there are two Pulse processes, the Pulse sync client and the Pulse webserver


Happy syncing!





No comments :

Post a Comment

Real Time Web Analytics