0

我在 VPS 上运行一个站点,并且经常达到 93% 的内存使用率。我在其中一个较大的页面上使用了 PHP 中的 memory_get_usage() 函数,它说它使用了超过 1,500,000 的内存。很多吗?是否有健康网站的通用基准?

我的网站甚至没有那么复杂,尽管它是手动编码的,没有使用任何框架。

令人担忧的是,我将内存使用量的大幅提升追溯到代码行,其中包含一个文件(125kb),其中包含我所有的 PHP 函数(是的,我可能应该将函数分离到单独的库中,并根据需要包含它们) .

包含该文件后,该页面的内存使用量立即从 250k 跃升至 1.4MB。这是正常的吗?实际上还没有调用这些函数,它只是一个函数库。

4

1 回答 1

2

1.5mb 对于 PHP 程序来说没什么好担心的。

20mb 我也不担心。

50mb 会更令人担忧,这取决于程序在做什么。

但是,当然,它确实在很大程度上取决于个别程序。

在您的情况下,向脚本添加一堆函数肯定会占用您所看到的那种顺序的大量内存。那里没有什么不寻常的地方。

但是1.5meg并不是很多。你的 VPS 有多少内存?有多少并发 PHP 脚本正在运行以耗尽整个 RAM 分配?

您的脚本速度可能存在问题——PHP 脚本应该在最短的时间内运行,因此 1.5mb 不应该长时间使用。但是,如果您的脚本需要花费太多时间,则可能会导致更多用户同时运行该脚本。此外,如果速度很慢,这些用户可以尝试多次刷新,这肯定会耗尽你的内存,因为单个用户将同时运行多个脚本副本。因此,寻找提高代码性能的方法;这可以帮助你。

另一个问题:你的页面是静态的吗?可以缓存吗?即,如果您的 PHP 页面在每次加载时都生成相同的 HTML 输出,您可以通过缓存输出为自己节省大量 RAM(并显着提高性能),这样 PHP 代码就不需要在每次页面时都运行被要求。像 Varnish 这样的缓存服务器将对此有所帮助。

我希望这有助于回答这个问题并为您提供更多思考方向。

于 2012-12-27T22:58:59.120 回答