我的 Digital Ocean droplet 出现了内存 (RAM) 问题,
我有 3 个网站,平均每天有 300 个独立访问者,有 2GB 的 RAM 和 2GB(我认为这应该足够)的交换空间...
我跑了:php -m
结果如下:
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
libxml
mbstring
mhash
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib
目前为止,我唯一使用的就是 curl,但是对于大多数工具,我都不知道它们是用来做什么的。
您认为大多数网站不需要以下哪些模块?
PS:我使用 MySQL、会话,我做出了几个返回 JSON 的响应,这确实是基本的东西。
答案1
根据您提供的信息,我们无法知道您可以安全地禁用哪些功能。实际上,只有您才能通过测试安全地确定这一点。
- 禁用模块
- 运行测试
- 做决定
- 冲洗并重复。
有趣的是,您选择使用 PHP 模块来尝试减少内存占用 - 我从来没有这样做过。这并不是说您错了,只是它比其他事情更不可能成为问题。
您应该花一些时间使用 top、sar、free、vmstat、iostat 等工具来更好地了解您的系统,并在系统正常运行和出现问题时查看日志。使用这些工具找出哪些内容正在使用内存以及何时使用,系统对负载的反应如何等。然后,您可以开始应用科学的方法。