我在 1G 内存上运行 CentOS 的 VPS,但我发现内存已“满”,所以我额外安装了 1G。
这个 VPS 是我在一家托管公司租用的。那家公司为我完成了安装 VPS 的大部分配置。他们还安装了 DirectAdmin 并处理了所有域/DNS 问题。
我只安装了某些用户/FTP 帐户并上传了我的所有制作网站。该服务器托管:5 个小型静态 PHP 网站、2 个 WordPress 网站、1 个 Magento 网上商店、我自己的测试环境以及每个网站的所有电子邮件帐户。
我的目标是提高服务器性能。
我在互联网上查看了各种指南。我弄坏了很多东西,然后不得不修理它们,所以我边走边学。我发现我需要遵循一些正确的指南/教程,并且需要确保只遵循 CentOs 相关的内容。
ulimit -a
并free -m
命令告诉以下内容:
[root@1332 etc]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 32365
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 32365
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@1332 etc]# free -m
total used free shared buffers cached
Mem: 2026 990 1036 0 129 620
-/+ buffers/cache: 240 1786
Swap: 2047 0 2047
所以我有一些额外的空闲内存
top - 14:35:36 up 4:15, 1 user, load average: 0.57, 0.49, 0.46
Tasks: 169 total, 1 running, 168 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.0%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.1%hi, 0.0%si, 0.0%st
Mem: 2075000k total, 1016716k used, 1058284k free, 133924k buffers
Swap: 2097144k total, 0k used, 2097144k free, 637168k cached
我重新启动了服务器,这可能就是为什么一切看起来都很棒的原因。
我将my.cnf
设置更改为以下内容:
[mysqld]
local-infile=0
skip-locking
query_cache_limit=2M
query_cache_size=64M
query_cache_type=1
max_connections=500
interactive_timeout=100
wait_timeout=120
connect_timeout=10
thread_cache_size=128
key_buffer=384M
join_buffer=8M
max_allowed_packet=16M
table_cache=1024
record_buffer=1M
sort_buffer_size=2M
read_buffer_size=2M
max_connect_errors=10
# Try number of CPU's*2 for thread_concurrency
thread_concurrency=6
myisam_sort_buffer_size=64M
server-id=1
[safe_mysqld]
err-log=/var/log/mysqld.log
open_files_limit=8192
[mysqldump]
quick
max_allowed_packet=16M
[mysql]
no-auto-rehash
#safe-updates
[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[mysqlhotcopy]
interactive-timeout
我注意到我这里没有任何innoDB
设置。可能是因为它们没有安装或者因为 DirectAdmin 的存在或者因为我的托管服务商不使用它。
那么,一些问题:
my.cnf 设置是否“正确”以获得最佳设置? (此时此刻)
还有其他我需要担心的设置吗?
我还需要对 Magento 进行任何性能调整吗? (我尝试安装 APC 或 Xcache,但这没有多大作用)
我安装了 REDIS,但因此我没有“感觉到”任何性能,这正常吗?