This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-03-24
Channels
- # aleph (4)
- # beginners (93)
- # cider (7)
- # cljs-dev (16)
- # cljsrn (5)
- # clojure (192)
- # clojure-dusseldorf (3)
- # clojure-italy (14)
- # clojure-russia (16)
- # clojure-serbia (1)
- # clojure-spec (85)
- # clojure-taiwan (1)
- # clojure-uk (79)
- # clojurescript (188)
- # code-reviews (9)
- # core-async (2)
- # crypto (1)
- # cursive (26)
- # datomic (21)
- # heroku (1)
- # hoplon (3)
- # jobs (7)
- # jobs-discuss (20)
- # jobs-rus (13)
- # off-topic (77)
- # om (15)
- # onyx (23)
- # pedestal (94)
- # planck (11)
- # proton (10)
- # protorepl (1)
- # re-frame (16)
- # ring (22)
- # ring-swagger (9)
- # rum (2)
- # specter (18)
- # testing (2)
- # untangled (14)
- # vim (12)
- # yada (58)
has anyone had issues where continuous requests start to take longer and longer and then eventually start timing out?
Continuous requests?
it usually runs under 250ms but then every so often just starts to take more and more time, until its in the hundreds of seconds
eventually the healtcheck request from the instance manager times out and it restarts the machine
seems like some sort of resource is getting tied up, threads arent being freed or something but I don't know enough about the underlying server architecture to really know whats going on
Which adapter are you using? Are you using async or synchronous handlers? If you’re just using ring-jetty with synchronous handlers, which is the most common setup, you might have something in your handler that’s holding resources but not releasing them.
Ring-Jetty with sync handlers doesn’t keep anything open by default.
250ms is a pretty slow request in the first place. I’m curious as to what work you’re doing in such a request @mattsfrey ?
Does it use async handlers? Maybe it’s not closing the response?
Or maybe you’re keeping I/O connections open
do you know of an easy way inherent to ring to view whats going on behind the scenes? I'm at the point of hooking up a jvm profiler really
It doesn’t sound like it’s Ring specifically that’s the problem, but what’s going on in your handler after Ring has passed off the request to it.
A profiler is a good place to start.