How to Improve Plugin Performance

  • UPDATE: Version 1.0.0.803 has this feature integrated into the UI so
    you no longer need to edit this file manually.

You will see some performance degradation when using plugins. This is because plugins are loaded in a second .Net application domain. This is done for two reasons. The first is to keep the plugins isolated so they don't cause problems with the Hurricane Server code. The second is to allow them to be unloaded without shutting down the entire process. The down side is that the data passed back and forth goes
through a .Net proxy, which can be slow.

There is a setting that you can use to force the plugins to load into the same application domain as Hurricane Server. Making this change will yield a significant performance improvement. Before you make this change, however, it is recommended that you test your plugins thoroughly because when the plugins are loaded into the same application domain as Hurricane Server, you will not be able to delete the plugin dll (i.e. to update it) without first stopping all of the Hurricane Server services (including http).

To enable this mode go in to the global general.config file and add the below setting. After you do this you will have to restart the services.

LoadPluginsInIsolatedDomain=False

Your config would look something like this.

; general.config
; This file is used to configure general server settings
[General]
LOADPLUGINSINISOLATEDDOMAIN=FALSE
AdminUser = admin
AdminPassword = 21232F297A57A5A743894A0E4A801FC3
RequireLogin = false
WebManagementPort = 8085