多少钱
#11 楼 @Saito fork 三个进程当然不是 3x 内存了,操作系统当然知道你三个 ruby 解释器是相同的,这部分显然无论多进程还是多线程,都是只占一份内存。
换成线程安全未必能省下多少内存。线程安全无非就是加锁或者搞 thread-local。而且,往往就是 thread-local 了,所以内存还是一样占的。(补充:因为很多东西是依赖当前状态的,真要改成线程安全,不用 thread-local,差不多就是得重写了,而且重写其实也没用,重写无非就是把 thread-local 变成 request-local,状态还是多份)。
这么多 Web 框架,为啥就 Rails 特别能吃内存,很多框架也都不是线程安全的...
穷矬矮表示用不起特别能吃内存的 Rails...
难道还有更好的办法?
没注意到已经开了,我错了...
你无视了 block 的开销啊...
10M 这个数量级就要 sharding 了吗?用 memcache 和 redis 当缓存撑不住?
不懂 service 是啥?