6 ms·
Overview of new features in Apache HTTP Server 2.4 http://httpd.apache.org/docs/2.4/new_features_2_4.html http://httpd.apache.org/docs/2.4/new_features_2_4.htm
by Garbage 15y ago
Overview of new features in Apache HTTP Server 2.4
http://httpd.apache.org/docs/2.4/new_features_2_4.html http://httpd.apache.org/docs/2.4/new_features_2_4.html
- waitwhat 15y agoUnfortunately, still no sign of per-host logfiles with dynamic virtual hosts (mod_vhost_alias).
- spydum 15y agoIsn't the beauty of open source the ability to write your own modules? If it's needed, write it.
- mrud 15y agoI think you can solve this by using http://n0rp.chemlab.org/vlogger/ http://n0rp.chemlab.org/vlogger/ You can define one log which has the virtual host as the first field and split the logs after it.
- fanf2 15y agoThat is what we did at Demon Internet where I wrote mod_vhost_alias - except using our own log processing software.
- peterwwillis 15y agohttp://httpd.apache.org/docs/2.4/mod/mod_heartbeat.html http://httpd.apache.org/docs/2.4/mod/mod_heartbeat.html It frustrates me when people use ASCII instead of packed bitmaps for things like this (packet transmitted once a second from potentially hundreds or thousands of nodes, that each frontend proxy has to parse into a binary form anyway before using it). Maybe it's a really small amount of CPU but it's just one of many things which could easily be more efficient. Some of this stuff is so simple and useful it's a wonder they weren't there before: http://httpd.apache.org/docs/2.4/mod/mod_auth_form.html http://httpd.apache.org/docs/2.4/mod/mod_auth_form.html http://httpd.apache.org/docs/2.4/mod/mod_session_dbd.html http://httpd.apache.org/docs/2.4/mod/mod_session_dbd.html http://httpd.apache.org/docs/2.4/mod/mod_buffer.html http://httpd.apache.org/docs/2.4/mod/mod_buffer.html http://httpd.apache.org/docs/2.4/mod/mod_data.html http://httpd.apache.org/docs/2.4/mod/mod_data.html http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html http://httpd.apache.org/docs/2.4/mod/mod_lua.html http://httpd.apache.org/docs/2.4/mod/mod_lua.html "mod_ssl can now be configured to share SSL Session data between servers through memcached" "mod_cache is now capable of serving stale cached data when a backend is unavailable (error 5xx)." "Translation of headers to environment variables is more strict than before to mitigate some possible cross-site-scripting attacks via header injection." "mod_rewrite Allows to use SQL queries as RewriteMap functions." "mod_ldap adds LDAPConnectionPoolTTL, LDAPTimeout, and other improvements in the handling of timeouts. This is especially useful for setups where a stateful firewall drops idle connections to the LDAP server." "rotatelogs May now create a link to the current log file." Very nice that they rewrote the mod_rewrite and caching guides with more examples and ease of use in mind. Here are the API changes: http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html
- scott_s 15y agoIt frustrates me when people use ASCII instead of packed bitmaps for things like this (packet transmitted once a second from potentially hundreds or thousands of nodes, that each frontend proxy has to parse into a binary form anyway before using it). Maybe it's a really small amount of CPU but it's just one of many things which could easily be more efficient. I think that's a premature optimization. If it becomes a performance problem, optimize it then. Otherwise, I doubt it's worth the cost of humans not being able to read the information on the wire, and deciding on and implementing a binary format to represent the information.
- peterwwillis 15y agoThat's a fine philosophy for the just-ship-it model of startup webapp development, but this is a piece of server software which is supposed to scale high and far and reduce its resource use as much as possible (part of the emphasis of the release as noted). If you're writing a piece of some software with one specific function and it doesn't affect anything else and it doesn't take any more time to make it efficient, just do it efficiently the first time. This way you don't have to come back later and rewrite it (which by the time that's required, somebody already wrote something dependent on your crappy design, which now has to be fixed too, etc)
- scott_s 15y agoIt might be the philosophy of "the just-ship-it model of startup webapp development", but it's not why I have it. It comes from the philosophy of high performance systems research where you can spot inefficiencies all over the system, you just don't have enough time to optimize them all, and any extra complexity you put into the system better be worth it. Every "optimization" you put into your system better have performance numbers associated with it; if you can't experimentally demonstrate that the optimization is worth it, it's not.
- wheels 15y agoMoreover, as someone who's spent a significant chunk of my career basically being a professional optimizer, one of the worst things to fight against is code infected with a plethora of micro-optimizations. Micro-optimizations tend to be based around fragile, case-specific assumptions and when they're used, a smarter, deeper optimization to a more generic version of the problem isn't reused because somebody decided that "every bit counts". 100% agreement on "if it's not showing up in your profiler, don't optimize it".