Re: How do I track down a painfully long pause in a small web app?

2014-09-24 Thread dennis zhuang
You can use jstat -gcutil pid 2000 to print the GC statistics every 2 seconds, http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html It the long pause is from GC, the columns FGCT/FGC values would be large. If you think it's a swap issue, you may want to use vmstat 1 1

Re: How do I track down a painfully long pause in a small web app?

2014-09-23 Thread larry google groups
I am intrigued by this article, as the problem sounds the same as mine: http://corner.squareup.com/2014/09/logging-can-be-tricky.html No significant amount of resources appeared to be in use — disk I/O, network I/O, CPU, and memory all looked fairly tame. Furthermore, the bulk of queries being

Re: How do I track down a painfully long pause in a small web app?

2014-09-23 Thread larry google groups
I'm guessing that strace is showing me userland threads? When I quit strace I see: ^CProcess 19363 detached Process 19364 detached Process 19365 detached Process 19366 detached Process 19367 detached Process 19368 detached Process 19369 detached Process 19370 detached Process 19371 detached

Re: How do I track down a painfully long pause in a small web app?

2014-09-15 Thread Linus Ericsson
If you turn on verbose gc for the JVM you could at least rule out GC pauses. Hmm, exactly how do you route the requests through the apache server? It almost sounds like your applikation is restarted every now and then, iirc Apache only servers a limited amount of requests per server thread. If

Re: How do I track down a painfully long pause in a small web app?

2014-09-15 Thread François Rey
GC would be the first suspect, but then it could also be combined with a swap issue, or a JVM bug. Have a look at this article, which ends with a concrete list of things to do: https://blogs.oracle.com/poonam/entry/troubleshooting_long_gc_pauses -- You received this message because you are

Re: How do I track down a painfully long pause in a small web app?

2014-09-15 Thread David Powell
Use the jvisualvm tool that comes with the jdk- you should be able to connect to the clojure process. Looking at the memory usage graphs, and if the heap size is banging against the max heap size, then you might just be using too small a heap size - try upping it. You can also install the

Re: How do I track down a painfully long pause in a small web app?

2014-09-15 Thread larry google groups
1. Which API calls pause? If only certain calls pause, then probably you have something specific to suspect. Try adding a dummy REST call - see if that call pauses while others do. I will add a dummy REST call, although this pause does not seem specific to a particular API call. 2. Is

Re: How do I track down a painfully long pause in a small web app?

2014-09-15 Thread larry google groups
Hmm, exactly how do you route the requests through the apache server? It almost sounds like your applikation is restarted every now and then, iirc Apache only servers a limited amount of requests per server thread. Interesting if true, but I assume there would be an error if 2 instances of

Re: How do I track down a painfully long pause in a small web app?

2014-09-15 Thread larry google groups
If this somehow started a new JVM per apache thread things would go strange. What does $ps ax --forest say? That is a good thought, but I only see it once. On Monday, September 15, 2014 2:45:13 AM UTC-4, Linus Ericsson wrote: If you turn on verbose gc for the JVM you could at least

Re: How do I track down a painfully long pause in a small web app?

2014-09-15 Thread larry google groups
Okay, I will dig into jvisualvm. Thanks. On Monday, September 15, 2014 5:53:34 AM UTC-4, David Powell wrote: Use the jvisualvm tool that comes with the jdk- you should be able to connect to the clojure process. Looking at the memory usage graphs, and if the heap size is banging against

Re: How do I track down a painfully long pause in a small web app?

2014-09-15 Thread Nando Breiter
I don't have any experience configuring Clojure apps on the JVM, yet, but it may be that increasing the RAM on the server does not increase the RAM allocated to the JVM instance Clojure is running on. Aria Media Sagl Via Rompada 40 6987 Caslano Switzerland +41 (0)91 600 9601 +41 (0)76 303 4477

How do I track down a painfully long pause in a small web app?

2014-09-14 Thread larry google groups
I have an embarrassing problem. I convinced my boss that I could use Clojure to build a RESTful API. I was successful in so far as that went, but now I face the issue that every once in a while, the program pauses, for a painfully long time -- sometimes 30 seconds, which causes some requests

Re: How do I track down a painfully long pause in a small web app?

2014-09-14 Thread Shantanu Kumar
Few thing to consider: 1. Which API calls pause? If only certain calls pause, then probably you have something specific to suspect. Try adding a dummy REST call - see if that call pauses while others do. 2. Is any of your services running on a t1.micro or a burst-oriented EC2 instance on AWS?