0

I am currently trying to figure out why a relative simple app I have on Heroku is (sometimes) taking very long to respond.

One of the things I am looking into is the log drain: apps write to stdout, which Heroku collects and which you can view (e.g. with "heroku logs"). In my case, I also have the LogEntries add-on, and am also sending logs to an EC2 instance (same zone) via rsyslog.

If writing to stdout is sometimes blocking for a very long time (30s?) that can explain why my app can take 30s to respond to even the simplest request (app-level ping). That can happen, for example, if the pipe used by Heroku to collect processes' stdout has "spikes" in draining and is relatively small.

Can anyone comment on the performance of Heroku's stdout collector? Throughput? Latency?

Nitzan Shaked
  • 13,460
  • 5
  • 45
  • 54

1 Answers1

0

Is it always taking a long time? Perhaps it's the expected dyno idling?

Jon Mountjoy
  • 4,498
  • 22
  • 24
  • I don't know that it takes a long time, that's exactly what I'm asking. It's not idling -- I have 2 dynos, so they're both always up. Also, I keep them up by issuing a GET request every 1 minute from a different machine. – Nitzan Shaked Mar 17 '13 at 16:27
  • Are they both web dynos? If they are, there's no need to keep them up - they won't idle if they're both web dynos. – Jon Mountjoy Mar 18 '13 at 14:03
  • They both are. I specifically mention in my first comment to this answer: "I have 2 dynos, so they're both always up". The keep-alive mechanism is a relic from an earlier time, where I had only one. – Nitzan Shaked Mar 18 '13 at 17:34