Performance improvements for gearmand_ready and gearman_server_function_get
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gearman |
Fix Released
|
Medium
|
Brian Aker |
Bug Description
This patch addresses 2 hotspots we've detected. We have ~2000 worker processes connecting a gearmand server and processing ~500 jobs/sec.
1) gearmand_ready: a very tight loop that burns CPU. The attached patch creates a new list (ready_con_list) on the connection_list object that is just for "ready" connections. I also changed the "con_list" to use the macros GEARMAN_
2) gearman_
Both of these combined dropped user CPU use by ~50%.
Changed in gearmand: | |
milestone: | none → 1.0.4 |
assignee: | nobody → Brian Aker (brianaker) |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in gearmand: | |
status: | In Progress → Fix Released |
Would you mind applying this to 1.0.3 instead of 1.0.2?
Thanks