Live data from Hacker News

Nginx 1.9.11 with Dynamic Modules

mailman.nginx.org

1–10 of 63 posts

Re: Nginx 1.9.11 with Dynamic Modules

#5
A little more explanation of what that means from the docs:

In NGINX 1.9.11 onwards a new way of loading modules dynamically has been introduced. This means that selected modules can be loaded into NGINX at runtime based on configuration files. They can also be unloaded by editing the configuration files and reloading NGINX.

https://www.nginx.com/resources/wiki/extending/converting/

Re: Nginx 1.9.11 with Dynamic Modules

#6
post #3

This is great news for the pagespeed people.

not just for them. This also helps a lot for all OS packagers because right now they have to ship multiple custom nginx packages. As a user you either don't get what you want or you get way too much.

Plus, if there's a custom module you'd really like to have in your nginx you're practically forced into building your own because there's no way to get that module loaded into the distro nginx.

Yes. There's some overhead to dynamic modules. Yes. There's a (minuscule) performance advantage to static linking.

But having the ability to ship modules independently of the web server core is a very important usability feature which, frankly, outweighs the performance overhead for most installs.

If you're really CPU bound on that nginx instance where you need the additional modules and you removing that overhead gives you that little bit extra performance you need, then you always have the option of hard-linking them.

Re: Nginx 1.9.11 with Dynamic Modules

#8
post #4

Is this going to make it easier to get luajit on a stock nginx server? I just see a single bullet point regarding "Dynamic modules", anywhere I can get more info?

Probably not. The lua module hooks into internal symbols not considered part of the module API.

Re: Nginx 1.9.11 with Dynamic Modules

#9
post #6
post #3

This is great news for the pagespeed people.

not just for them. This also helps a lot for all OS packagers because right now they have to ship multiple custom nginx packages. As a user you either don't get what you want or you get way too much. Plus, if there's a custom module you'd really like to have in your nginx you're practically forced into building your own because there's no way to get that module loaded into the distro nginx. Yes. There's some overhead…

> There's a (minuscule) performance advantage to static linking.

Is that actually true? I would have thought networking latency overshadows any memory latency introduced in a `call foo@PLT` v. `call *(foo@GOT)`.

Are you aware of anyone who has benchmarked this? i.e. not a microbenchmark e.g. inside something like nginx?

If so, it might be worth fixing the dynamic linker: the cost difference is absolutely fixable, as it's a tradeoff for sharing pages with other processes.

Re: Nginx 1.9.11 with Dynamic Modules

#10
post #5

A little more explanation of what that means from the docs: In NGINX 1.9.11 onwards a new way of loading modules dynamically has been introduced. This means that selected modules can be loaded into NGINX at runtime based on configuration files. They can also be unloaded by editing the configuration files and reloading NGINX. https://www.nginx.com/resources/wiki/extending/converting/

This is fantastic news. I've wanted to use the StatsD plugin for nginx for a while now at the load balancer level but didn't want to compile my own and have to continuously re-compile to get patches.
Post reply on HN