top | item 40449313

(no title)

curioussavage | 1 year ago

Yup. Somebody is going to write something that hogs cpu without yielding to the loop or queues up an absurd number of tasks waiting to be executed which effectively has a similar effect. All of a sudden latencies are high. Depending on how tracing is done it can appear like certain io operations are the culprit if you just go off of traces.

P99 latency for every route on your web server will be fixed at the max time any individual unit takes to execute before yielding plus loop overhead and its own time. This can drastically increase it for many routes.

Meanwhile some genius insists that our app is “io bound” so the single threaded async runtime must be a perfect fit.

Apart from just being generally faster at least with go I know that when somebody screws up there should be n other threads still executing tasks.

discuss

order

No comments yet.