Since both Adaptive Server and XP Server reside on the same machine, they can affect each other’s performance when XP Server is executing a function that consumes significant resources.
Use esp execution priority to set the priority of the XP Server thread high, so the Open Server scheduler runs it before other threads on its run queue, or low, so the scheduler runs XP Server only when there are no other threads to run. The default value of esp execution priority is 8, but you can set it anywhere from 0 to 15.
All ESPs running on the same server must yield to one another, using the Open Server srv_yield routine to suspend their XP Server thread and allow another thread to execute.
See the discussion of multithread programming in the Open Server Server-Library/C Reference Manual.
You can minimize the amount of memory XP Server uses by unloading a DLL from XP Server memory after the ESP request that loaded it terminates. To do so, set esp unload dll so that the DLLs are automatically unloaded when ESP execution finishes. If esp unload dll is not set, you can use sp_freedll to explicitly free DLLs.
You cannot unload DLLs that support system ESPs.