As you've noticed if you are reading commit mails, Martin and I are busy moving all the backend fetch related stuff into a the busyobj structure.
Right now we offer to $param selectable options for memory management of the busyobj, and I would like to get your input & experience with this detail. In one more, we cache a busyobj per worker thread, this is for all practical purposes the same thing we had before this change. The other option is to use a single slot global cache, which saves a bunch of memory in worker threads at the cost of malloc-trafic, locking and lock contention. For a site with high hitrates, it may be an advantage to switch to the single slot global cache by setting busyobj_worker_cache=false as this will reduce the memory footprint. The question in my mind, is what every everybody else needs. On one hand, a single malloc/free per backend fetch is not a really big deal performance wise, on the other hand, having a slightly larger cache than a single entry might be beneficial. Before I pour any more time into this, I'd like to get some real-world feedback, so if anybody can measure any difference by changing the busyobj_worker_cache param, I'd like to hear about it. This is not a high-priority project, but if you have the chance... -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [email protected] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. _______________________________________________ varnish-dev mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev
