Monthly Archives: June 2010

ngx_lua now has (basic) subrequest support

Last night’s ngx_lua hackathon has been proven extremely fruitful. chaoslawful and I didn’t stop coding until midnight, and successfully finished the first draft of the most tricky bit in ngx_lua, that is, transparent non-blocking IO interface (or nginx subrequest interface) … Continue reading

Posted in Uncategorized | Leave a comment

ngx_xss v0.02: fixed a bug that prevents responses from being gzipped

I’m glad to announce the v0.02 release of the ngx_xss module:    http://github.com/agentzh/xss-nginx-module/tarball/v0.02 This module provides native cross-site scripting (XSS) support in nginx, and cross-site GET via JSONP in particular. Please visit the project homepage for more details:    http://github.com/agentzh/xss-nginx-module … Continue reading

Posted in Uncategorized | Leave a comment

ngx_drizzle v0.0.11 and ngx_rds_json v0.09: significant performance boost

I’m happy to announce that ngx_drizzle v0.0.11 and ngx_rds_json v0.09 are finally out:    http://github.com/chaoslawful/drizzle-nginx-module/tarball/v0.0.11    http://github.com/agentzh/rds-json-nginx-module/tarball/v0.09 ngx_drizzle is an upstream module that talks to mysql, drizzle, and sqlite3 by libdrizzle, and generates output in a binary format known as … Continue reading

Posted in Uncategorized | Leave a comment

Recent developments in nginx.conf scripting

Last Saturday I gave a talk in Beijing OpenParty’s monthly meetup regarding our recent developments in nginx.conf scripting with the highlight of new modules like ngx_postgres, ngx_form_input, ngx_srcache, ngx_encrypted_session, and ngx_lua. Here’s the slides that I used in this event: … Continue reading

Posted in Uncategorized | Leave a comment

ngx_openresty 端午节大优化

端午节前后我对 ngx_drizzle 和 ngx_rds_json 进行了深入的重构和优化,现在对于几百 KB 的大结果查询,比一周前提升了几百倍的性能。现在对于一个典型的 380 KB 的大结果集的 mysql 查询,10 并发,单机可达 430+ q/s,128 MB/s 的传输速率,20 ms 平均响应时间 [1]。 nginx 这一侧没有使用任何针对结果集的缓存,mysql 那一侧倒是有可能用到了其自己的内存缓存,呵呵。现在我们的性能终于是 php + libmysql 的 3 倍多了。 主要的改动就是重新设计了缓冲区的管理模型,采用了类似 ngx_http_gzip_filter_module 的定长 buf 链和回收机制,后面有机会再详细介绍一下,呵呵。 值得一提的是,编译 nginx 时 gcc -O1 会比 … Continue reading

Posted in Uncategorized | Leave a comment

ngx_headers_more v0.10: ability to remove a header completely

I’m happy to announce that the v0.10 release of ngx_headers_more has just landed:    http://github.com/agentzh/headers-more-nginx-module/tarball/v0.10 This module allows you to add, set, or clear any output or input header that you specify.  Please see the full documentation for more details. … Continue reading

Posted in Uncategorized | Leave a comment

ngx_echo v0.32: various memory issue fixes inspired by valgrind

I’m happy to announce the v0.32 release of the ngx_echo module:    http://github.com/agentzh/echo-nginx-module/tarball/v0.32 This module wraps lots of Nginx internal APIs for streaming input and output, parallel/sequential subrequests, timers and sleeping, as well as various meta data accessing. Basically it … Continue reading

Posted in Uncategorized | Leave a comment