Go Worker

24 views
Skip to first unread message

Sven Nierlein

unread,
Oct 16, 2018, 6:06:07 PM10/16/18
to mod_gearman
Hi list,

we recently developed a new mod-gearman-worker in go with the aim to use
less memory. The C Worker uses a prefork model and starts a separate process
for each connection. In total this can consume quite some memory. Imagine
200 Workers with 100mb memory each is already 20gb memory. The goworker uses
a single process and does not have embedded perl which lowers the memory
footprint even more.
It can export prometheus metrics for detailed analysis, ex. track cpu usage
grouped by check plugin.

The new go worker can be found here: https://github.com/ConSol/mod-gearman-worker-go
You can install it by running
%> go get github.com/ConSol/mod-gearman-worker-go
which will install the binary in your gopath.

The new worker can be instantly replaced. It accepts all existing arguments and options
from the c-worker (it just ignores the perl related ones).

Feedback is much appreciated.

Cheers,
Sven
Reply all
Reply to author
Forward
0 new messages