I have a question about a coldfusion server my company is running at the moment. We have about 50 active websites running on it and we get an average of 1 request per second. We have recently started working with a client that sends us 32 requests per seconds to keep a lot of data up to date. However we have noticed that our memory usage seems to steadily grow over a time span of an hour and then suddenly drops down again. After this drop there is a 3 minute time gap where the server does not accept (or log) requests, this leads me to believe the drop is actually a coldfusion restart. Sometimes we have really long load outs on our pages or "session not available" messages, I have no clue if this is due to the 32 requests per second or some other issue.
I took two screenshot illustrating the memory growth and request refusal over time.
Memory: http://img9.imageshack.us/img9/5320/picture10zze.png
Requests: http://img18.imageshack.us/img18/4378/picture11jh.png
My questions:
1: Is this growing and dropping every hour normal behavior for the memory on our server (some kind of automatic purging maybe?)
2: Is 32 requests a second a "heavy" load for a good server to handle.
3: Does the drop in requests mean our server is restarting? Is there any way to check this?
This is a windows server running iis7.
What you are seeing in that graph looks like a memory issue with the JVM. I would start by increasing your young generation size so that large variables/objects can remain in young generation without being promoted. The drops are when the major GC happens which clears things out. Here is an excellent article on the topic that should be able to help you get started: http://www.adobe.com/devnet/coldfusion/articles/coldfusion_performance.html You should be able to get quite a bit of improvement by implementing the ideas there with minimal code changes. Though you probably want to look at query execution times as well.