1
towser 2014-08-26 10:23:02 +08:00 1
差不多可以这么说。
|
2
Lucius 2014-08-26 10:37:32 +08:00 1
理论上好像是这样,PHP并发请求之间的内存是完全隔离的。
没有实际测试过~ |
3
lujjjh 2014-08-26 10:50:53 +08:00 1
FastCGI 也是支持多线程的,这也就意味着同一个进程可以同时处理多个请求。所以,要看你说的 10M 的内存是怎么算的了。
如果单纯地脚本就会消耗 10M 的内存(通常来说不太可能),并且还不开虚拟内存的话,那么确实是的,考虑上 Web 容器的话可能还不能容纳 10 个人同时访问。如果是算上 php-cgi 一共占了 10M,那倒是没关系。 当然,还是有可能属于前一种情况的,那就要优化一下代码了。比如一次性从别的地方下载 10M 的文件放到内存中,可能就符合「执行时间为 1 秒,共占用了 10MB 内存」了,这种耗时操作应该异步处理,在内存不充裕的情况下就用硬盘缓存吧。 |
4
kmvan OP @lujjjh 如果是这样,那 wordpress 不就很坑爹吗,他加载一次,内存使用 20MB ,那么在 256M 的vps,顶多就 10个 并发就 gg 了?
|
5
lujjjh 2014-08-26 11:41:06 +08:00
@kmvan WordPress 是出了名的臃肿,不过我不清楚是不是真的如你所说加载一次就消耗 20M 的内存……不如用 ab 之类的做一下压力测试看看。访问量真的那么大的话(1 秒内有 10 个并发,PV 起码上万了吧),这配置是有些寒碜。起码给 WordPress 加一层缓存吧,或者就用更轻量级的博客系统。
|
6
seki 2014-08-26 11:47:35 +08:00
|
7
kmvan OP |
8
hjc4869 2014-08-26 13:16:57 +08:00
@kmvan WordPress可以用缓存插件,或者干脆怒了直接上HHVM,WordPress在HHVM上性能优异,内存占用特别稳定。
|
9
lujjjh 2014-08-26 13:24:55 +08:00
@kmvan 所以还是得回归原先的问题。20M 是单纯脚本消耗的吗?Memcached 本来就是很吃内存的,在内存不充裕的情况下就不要用本机搭 Memcached 了。至于别的缓存方法,也只能是在硬盘里缓存了,如果很在意硬盘的速度,那也只有提升配置了。还是做下压测看看吧,用数据说话。
|
10
mengzhuo 2014-08-26 13:53:19 +08:00
不到10个,到8个左右的时候你的服务器
因为各种资源抢占和内核回收资源互相争夺,磁盘IO直线上升,WAIT越来越长 ----> 就挂了 |