mare 发表于 2010-5-24 18:37:13

PHP 脚本占用多少内存为好?

我用CodeIgniter 写了个页面,用memory_get_usage()检查了内存占用情况。

他显示有2.4M多。个人感觉挺多的。不知道这算不算正常? 一般占用多少内存为好? 有没有参考值?

是不是用框架写的程序内存占用都比较大?

如果每页内存占用2.4M,同时打开多个页面不是很耗资源吗?

很是迷惑!请各位高手解答!

jeongee 发表于 2010-5-24 20:27:03

php页面执行完了,内存会被释放的

navy92f 发表于 2010-5-26 16:11:42

我也是这个数,大牛进来指导一下啊

saturn 发表于 2010-5-26 18:14:39

当你的PHP是以CGI模式在web server下运行时,此程序才能准确做PHP脚本的benchmark。

否则,如果以module形式运行,测得的结果应该是web server本身的process consumption。

mahone 发表于 2010-6-5 13:45:22

php页面执行完了,内存会被释放的
ywqbestever 发表于 2010-5-24 20:27 http://codeigniter.org.cn/forums/images/common/back.gif

大致意思我能理解,能不能给一些关于这方面的介绍?
我有一做java的朋友跟我说,他们在写一些service类的时候,会写单例模式,因为服务器那边永远只需要一个在运行,然后java那边一起请求完是不会释放的
但是php这边好像一个请求过来完了之后,就释放了,即使是static的
那php如何做到想java里面这种application级别的东西?
能否给些这方面比较深入的介绍?谢谢!

spt119 发表于 2010-6-8 11:04:18

zend optimizer可以模拟JAVA一次编译到处执行的功能。
不过PHP毕竟是PHP,与JAVA不是一回事。如果感觉系统资源使用情况较多,可以考虑使用memocache这样的缓存。

Hex 发表于 2010-6-8 13:37:08

回复 5# mahone


    PHP 做不到 JAVA 那样,这也是 PHP 做框架性能不如 JAVA 的根本原因。
每次请求 PHP 都会 初始化->xxxx->清理 这个过程。
PHP 请求之间共享数据只有数据库、Session、共享内存等。

mahone 发表于 2010-6-8 19:45:05

回复 7# Hex

PHP 请求之间共享数据只有数据库、Session、共享内存等。

hex老大这样说,数据库我能理解
session我也能理解,我想问的更深入点,session是存在服务器的内存上的某个地方么?
共享内存,这个怎么做?敲代码实现?分配一块内存?像c里面的malloc?这样的内存好像是不共享的,那么共享内存如何实现?

spt119 发表于 2010-6-8 23:23:06

session在服务器的存放位置,不同的主机配置肯定是不一样的。不过都在php.ini里进行设置。除非自己的服务器,否则这个肯定是得不到的。
hex说的共享内存,实际上是php进程在内存中的位置。php不是C。

saturn 发表于 2010-6-9 20:18:10

回复 5# mahone


    你说的是对象和数据的persistence,比如数据库就是一种persistence。对于你说的类似.NET Remoting里面的Signleton模式,JAVA可以做到,PHP做不了。这是由于PHP的GC机制造成的,GC机制上面几个帖子已经说得很清楚了。但要实现也不是不可能,就是麻烦些,无非就是将你的application-level状态persistence掉,比如用DB/XML/Cache。
页: [1] 2
查看完整版本: PHP 脚本占用多少内存为好?