Skip to main content


 

Symptoms

 


We are testing in one of our environments that is using dev licensing. Are we to assume that we will have performance issues since the server doesn't use a "service" and instead just a K2 server?
 

 

Diagnoses

 




There are certainly some differences between running in console mode vs running as a service. Given this is for a dev environment that likely does not need to scale quite as far as a production environment would, the reduced load on a dev environment usually mitigates this concern. This largely depends on what is exactly going on in dev, and if there are thousands of running processes we will likely notice an impact to performance.

Some of the limitations regarding console mode vs service mode:

1. Console output - Writing debug output to the console takes a bit longer than simply writing it to the hostserver log. Reducing the "log level" may mitigate this to a degree. We essentially duplicate the output sent to the hostserver log in the console, so we are in some ways doing things twice. For development, this allows somewhat easy access to what may be going wrong while a process or artifact is debugged, somewhat at the expense of performance. This same concern can present itself in production as well, as writing out to the hostserver_log files does have a bit of overhead. This can be mitigated by modifying the logging settings, which can be found here: http://help.k2.com/kb000309

2. Console mode uses a single thread - This is probably the largest impact to performance. Running as a service allows for multiple threads to be created, where a development "console mode" licence will only use one thread.

3. Server settings - There are several options that can lean performance towards either applications or services. One that comes to mind is the page file configuration, which has options to increase performance for either background services or user processes/applications.

Again, whether these make a noticeable difference really depends on what's happening in the environment. For 5 running instances of a workflow I doubt we'd notice any large difference. If we scaled up to 5,000 instances, we would certainly see a difference.

 

 

Resolution

Resolution: Several factors can impact performance when running in console mode compared to running K2 as a service, including the increased overhead for console output, single vs multi-threading, as well as environment configuration. Typically the reduced load placed on a development environment mitigates this concern, however, as the number of running processes increases we will see performance impact due to the above factors.

 

 



 
Be the first to reply!

Reply