Octopus Deploy 2.6 RavenDB cache configuration

Is there a way to limit how much memory is consumed by RavenDB cache hosted by Octopus Deploy process? The cache settings documented below are not configured in Octopus.Server.exe.config file. Will OD pick them up if added manually?



To clarify, we use a server with 24GB of ram and Octopus seems to consume most of it about 22GB before it becomes unresponsive. I’ve done a memory dump analysis and the source of the issue seems to be a large number of document objects (over 1 million instances of 48,000 objects) in cache. See attachment.

Looking at the source for RavenDB, it looks like it should take the configuration in as described in the post above. However, the Octopus deploy service would not start of the settings such as these:

 <add key="Raven/MemoryCacheLimitPercentage" value="1024"/>
 <add key="Raven/MemoryCacheLimitMegabytes" value="512"/>

Any suggestions?

Hi Alan,

Thank you for reaching out! I’m so sorry to be the bearer of bad news, but because Raven is embedded within Octopus, there’s no way to add these configurations. That’s also mainly the reason why your server is slowing down and stopping - an embedded database doesn’t release memory after it has consumed it, so it can appear it’s using a lot more memory than it’s using at that moment in time. These performance issues arise once you get past a certain number of documents.

Because of the way we initially integrated Raven within Octopus, and what would be required to change the infrastructure, we decided to change to SQL in 3.0. I would suggest considering an Octopus upgrade, and that will help with your performance. If you are interested in upgrading, check out some detailed documentation we have written to help guide you through the process. Due to the big change from Raven to SQL, it may require a couple of steps: If you’re running a version before 2.6, you’ll need to upgrade first to 2.6, and then to 3.x.

Let me know if there’s anything else I can help with!


Thank you for the quick response Kenny

we’re running OD on a 12 CPU 32GB server already, I guess upgrade is the only way then. I wonder if there is a way to configure two OD services, one to host RavenDB and another the website?

Hi Alan,

No problem! Your thought about configuring two OD services, splitting the DB and the site is interesting, though sadly that’s not possible. And that’s also due to the fact that we embedded it within Octopus. Again, I’m sorry about the bad news!

Kind regards,