作者:zc163com | 来源:互联网 | 2014-05-28 09:40
整了快一个月了,是时候总结一下:教训:1.在虚拟机下编译Nginx算是犯的第一个错误,环境如下:Window+虚拟机中的Ubuntu,nginx等文件放在windows的一个文件夹中,Ubuntu使用vbox的数据空间进行访问.一开始并未察觉,因为觉得编译个东西,几分钟,很正常吧.
整了快一个月了,是时候总结一下:
教训:
1. 在虚拟机下编译Nginx
算是犯的第一个错误, 环境如下: Window + 虚拟机中的Ubuntu,
nginx等文件放在windows的一个文件夹中,
Ubuntu使用vbox的数据空间进行访问.
一开始并未察觉,因为觉得编译个东西, 几分钟,很正常吧.
2. 在Lua中习惯性写分号,习惯性忘记写end
3. 以Java的想法写C
其他一些零碎的问题:
1. lua-nginx-module
0.1.6rc2有个bug,折腾了2天,最后知道是bug
2. 用google-pretools工具分析性能,结果发现根本还不需要到这一步,因为ab的cpu比nginx还高!!
经验:
最大的经验就是 如果无需对请求体进行复杂处理(例如upload),以下组合可以说无敌了:
nginx + lua-nginx-module + drizzle-nginx-module +
rds-json-nginx-module
使用标准nginx处理静态文件,不是一般的快和强大
drizzle + rds-json负责访问
mysql数据, 速度非常快
使用lua处理逻辑,灵活而且非常快
一般的增删改查,都可以用上面的组合完成,无需Java/PHP的参与
暂时想到这么多,
另外,我在翻译lua-nginx-module的手册.虽说lua-nginx-module是国人写的,但一直没有找到中文手册,其英文文档虽然能看懂,但查找非常不便.
嘻嘻,值得期待哦
后来,做出一部分功能,开始测试. 用ab压, 总是几百req/s ,非常不爽,不应该是这种性能!!
无意中,改为单worker进程, 竟然效果更好, 而且ab占用的cpu比nginx还高!!
开始怀疑虚拟机的性能,决定用wubi安装一个
安装好,例行编译,靠!! 咋一会就搞定了?! 用ab压,晕死,直接上10k
req/s了,而且依旧ab的cpu比nginx高!!
开头,基本上每行都不自觉地敲上分号
每每写if语句,总是忘记写then和end
好久之后才发现连接字符串,其实用..就可以了,之前一直用string.format
一开始看到echo/lua模块每几行就判断一下是否为NULL/NGX_ERROR,觉得很多余,分配内存都要check一下,结果,杯具开始了
指针满天飞,至今还没适应过来