上周正好是QConShanghai,许多朋友都不约而同出现在会场或者是各种晚上的聚会上,好久没见到tinyfool了,这次我看到他的第一反应就是兄弟你减肥成功了,但是回来看到他的这篇文章后,我意识到,tiny不仅是减肥成功了,他应该是整个人升华了。每个人都应该去《寻找和突破心障》(http://tiny4.org/blog/2014/10/1-mantal-limit/),也许在一番思考之后,你会看到一个不一样的自己,我也是忙忙碌碌了好久,是时候停下来反思一下自己这两年就近在做什么,后面的路究竟该怎么走……他想把自己的思考写成书,这里有个简书的版本:http://www.jianshu.com/p/c27906bb8061。
自己曾经有一段时间一直在做JVM参数的调优,对于核心系统是反复调整,各种观察,尽可能寻找最合适的搭配,而一些不那么重要的系统则是用之前压测得到的较为通用的参数对老参数进行替换,并不是说我找到了什么“银弹”,而是老的参数实在太不GC友好了。GC其实是非常影响性能的,不要以为自动的就是好的,这不是我瞎说的,《GC对吞吐量的影响》(http://it.deepinmind.com/gc/2014/09/22/garbage-collection-increasing-the-throughput.html)里面就做了一个简单的试验,如果有精力,可以对你自己的系统做个测试,寻找一下最合适的内存分配和GC策略。
大家都知道lua很快,也都知道nignx里可以跑lua,但是不一定知道nginx里可以把lua和redis放一块用,无意间看到一个插件叫lua-nginx-redis,在一些场景下,这货还真能带来不少性能提升,比如《Supporting Millions of Pretty URL Rewrites in Nginx with Lua and Redis》(http://www.agileweboperations.com/supporting-millions-of-pretty-url-rewrites-in-nginx-with-lua-and-redis)里提到的URL Rewrite,我们平时也就配几条规则而已,从来没有想过规则多了会怎么样,但各种奇葩的问题总是存在的,有兴趣的同学自己看看吧。