For a little over a week now, our RavenDB setup has been experiencing issues in relation to CPU usage that has in some cases caused unresponsiveness in the silverlight interface and as well as the server responding to requests for data.
Essentially, for most of the past few months we've been using Raven, CPU usage has been very low (0-5%) at all times of the day. The only time it would spike up high (as much as 100%) would be when we'd be doing massive operations like bulk inserts and such. To give some additional background on our setup, the majority of all requests (read-only) going to Raven is through our front-end Web API setup.
A little over a week ago we noticed that Raven was unresponsive and was failing to return data for requests. The CPU would be locked between 97-100% usage, all attributed to the Raven.Server.exe process and we wouldn't be able to recover other than to force close the service and start it up again. It happened multiple times over a few day period, each requiring a restart, after which, CPU would go back down to normal for a while.
We were running build 2330 at the time and decided we'd try our luck upgrading to 2375 to see if that would make a difference. Since then, we've still had high CPU spikes, but they have not locked up the server in any way and the high CPU usage seems to go down after 5-10 minutes when it does happen. It does not adversely affect anything, but is still something I have concern for as to why it would be occurring. I've loaded up perfmon and looked into the metrics as well as turned on NLog debugging to see if I was getting an influx of requests around the high CPU times. This does not seem to be the case. Request load is steady (2-10 req/second) and does not appear to usually fluctuate much during high CPU load. In addition, I've noticed that the high CPU load seems to happen at certain times throughout each hour. Right now, generally the last 10 minutes of each hour the CPU hovers between 50% and 95% CPU usage, then goes back down, usually until around the half hour mark where for a couple minutes it goes up to 50% - 95% again, then back down, rinse and repeat. It seems to be consistent from hour to hour overall.
I did try turning off IIS once (Raven is running as a service) so that Web API was not passing requests to Raven and the one time I tried that I did not see the CPU usage go up like it typically would at the certain points throughout the hour, which would make me think it was more requests causing high CPU, but both the IIS logs and perfmon metrics beg to differ with no significant difference in requests counts during high CPU.
So I guess I'm trying to figure out something else I should be looking at to try and figure out what is happening. Appreciate the help!