0

I have an xpages 9.0.1 server running multiple online form type apps. The server runs fine and performance response is quite good. Pages load fast, users are happy.

Over time (yet to determine how long), the server performance degrades and ultimately grinds to an almost stop.

Each night I am scheduling -c "tel http restart" and it is getting me out of trouble.

I am not sure what page is causing the problem as the degrading happens over a couple of days.

Most of our xpages are SSJS, all of our java (of which there is not much) is appropriately recycled.

It does not seem to be effecting RAM memory - it bounces up a bit and down a bit but well with limits. There is no correlation with the increased response times to more memory used.

So where do I look and what tools can I use to isolate the problem. We are more Dev than Admin.

Cheers Damien

  • 4
    Just a tip: if you're using XPages I'd recommend to use the "restart task http" command instead of "tell http restart": the last one doesn't restart the JVM used by XPages. – Mark Leusink Aug 12 '14 at 07:46
  • Have you tried looking at the nhttp task on the server not through Domino administrator? – Patrick Sawyer Aug 13 '14 at 02:19

3 Answers3

2

There are profiling tools available that may help pinpoint which application is causing problems. From OpenNTF, XPages Toolbox is specifically for XPages and was contributed by Philippe Riand, who at the time was Chief Architect for XPages http://www.openntf.org/main.nsf/project.xsp?r=project/XPages%20Toolbox.

There are more heavy-duty, Java-specific tools like YourKit available.

Chapter 20 of Mastering XPages second edition specifically covers performance and there is also a lot of information in XPages Portable Command Guide about performance tuning.

If performance is degrading over time, it could be session timeout. By default, that's 30 minutes. You can extend it, but the danger then is that a browser cannot tell the server it's closing the session when the user closes the browser. So those sessions hang around. Equally if there are very long-running tasks, they would hang around until they complete and the session would then still be active until the timeout.

Paul Stephen Withers
  • 15,699
  • 1
  • 15
  • 33
1

Are you recycling your SSJS?

If you go into the server tasks of Domino Admin what do you see the CPU usage of the HTTP task doing. Also what is the memory usage of your nHTTP task? You may want to watch that.

Have you gone into the console to see if you can see if there us anything that looks bad?

If you can't pinpoint a problem you may want to think of putting some of your pages on a different server to determine if which app if not all is causing this.

Patrick Sawyer
  • 1,362
  • 7
  • 22
  • Thanks Patrick. Http task is 0% at the moment. I just realised that using the working.http.total.totalRequest is an aggregate measure so always increases. – user1539369 Aug 12 '14 at 03:57
  • I will look into our SSJS recycling. I thought it was limited to a Java thing. – user1539369 Aug 12 '14 at 03:59
  • 1
    On recycling: AFAIK that would only affect the performance/ generate errors of a single request. Once the request is done, all handles are recycled (set for GC) anyway. Like Patrick says: if RAM is not the issue have a look at the CPU or HTTP threads. These questions might provide some help too: http://stackoverflow.com/questions/23909357/xpages-http-threads-hanging and http://stackoverflow.com/questions/23733170/xpages-performance-2-apps-on-same-server-1-runs-and-1-doesnt/23738105#23738105 – Mark Leusink Aug 12 '14 at 07:50
  • 1
    Recycling does need to be done in SSJS as well. It might not be your problem BUT if you're doing any big loops in SSJS... Walking documentCollections or EntryCollections or stuff like that then you need to recycle things... – David Leedy Aug 12 '14 at 12:47
0

Are you using scoped variables that are session or application scope? Application scope variables stay alive so if you are creating those and have some sort of issue where you end up creating a bunch that can affect memory.

Also there is a server and application setting for when the XPages stay in memory. The suggested setting to Keep only the current page in memory and save the others to disk. This is in the XSP properties.

Howard
  • 1,503
  • 7
  • 16