有几个涉及swap的选项可能会影响到系统的性能表现。大部分情况下这些选项是可选的

Swappiness

swappiness参数决定了系统将数据从内存交换到swap空间的频率,数值设置在0到100之间,代表系统将数据从内存交换到swap空间的力度。

该数值越接近于0,系统越倾向于不进行swap,仅在必要的时候进行swap操作。由于swap要比内存慢很多,因此减少对swap的依赖意味着更高的系统性能。

该数值越接近于100,系统越倾向于多进行swap。有些应用的内存使用习惯更适合于这种情况,这也于服务器的用途有关。

输入如下命令查看当前的swappiness数值:cat /proc/sys/vm/swappiness 30

CentOS 7默认设置了30的swappiness,这对于大部分桌面系统和本地服务器是比较中庸的数值。对于VPS系统而言,可能接近于0的值是更加合适的。

使用sysctl命令可以修改swappiness。比如将swappiness设为10:sudo sysctl vm.swappiness=10

本次修改将一直生效到下次重启前。如果希望永久修改该数值,则需要编辑sysctl配置文件:

sudo vim /etc/sysctl.conf
将以下内容粘贴到文件末尾:
vm.swappiness = 100
编辑完成后,保存退出,之后服务器每次重启的时候会将swappiness设置为该值。

缓存压力(Cache Pressure )

另一个可以考虑更改的配置项是vfs_cache_pressure,该配置项涉及特殊文件系统元文件条目的存储。对此类信息的频繁读取是非常消耗性能的,所以延长其在缓存的保存时间可以提升系统的性能。

通过proc文件系统查看缓存压力的当前设定值:cat /proc/sys/vm/vfs_cache_pressure 100

这个数值是比较高的,意味着系统从缓存中移除inode信息的速度比较快。一个保守一些的数值是50,使用sysctl命令进行设置:

sudo sysctl vm.vfs_cache_pressure=50

这条命令仅在重启前有效。要让该设置永久有效,需要编辑sysctl配置文件:

sudo vim /etc/sysctl.conf
在文件末尾添加如下内容:
vm.vfs_cache_pressure = 50
保存退出,服务器就会在每次重启后都自动将缓存压力设置为50了。

_

禁用和清除网站日志

cat /dev/null>/home/wwwlogs/access_log

cat /dev/null>/home/wwwlogs/error_log

cat /dev/null>/home/wwwlogs/IP-access_log

cat /dev/null>/home/wwwlogs/IP-error_log

access_log
error_log
IP-access_log
IP-error_log

/usr/local/apache/conf/httpd.conf
/usr/local/apache/conf/extra/httpd-vhosts.conf

_

LNMP一键安装包安装的MySQL默认是开启了二进制日志文件的,如果数据操作比较频繁就会产生大量的日志,在/usr/local/mysql/var/下面产生mysql-bin.0000* 类似的文件,而且一般都在几十MB到几个GB,更甚会吃掉整个硬盘空间,从来导致mysql无法启动或报错,如vps论坛用户的反馈。
如何关闭MySQL的日志功能:

删除日志:

执行:/usr/local/mysql/bin/mysql -u root -p

输入密码登录后再执行:reset master;

注意别漏了后面的分号; 回车后会显示"Query OK, 234 rows affected (12.3 sec)",说明已经成功,再输入:quit 退出mysql命令模式。

彻底禁用MySQL日志:修改/etc/my.cnf 文件,找到

log-bin=mysql-bin
binlog_format=mixed

再这两行前面加上,将其注释掉,再执行/etc/init.d/mysql restart即可。

如果实在想保留日志,可以在/etc/my.cnf里[mysqld]部分中加入expire_logs_days = 10 然后重启mysql,这样10天就会自动清理日志。

本文以LNMP一件安装包安装的环境为例除MySQL重启命令和配置文件路径可能略有不同,其他一样。

如果VPS或服务器上一点空间都没有启动不了的话可以mysql-bin.0000*删除,然后清空mysql-bin.index文件里的内容,再重启mysql,这样虽然也可以清理日志,但是有一定的分析,如采用此方法建议先备份日志及数据库文件。

__

禁止输出X-Powered-By

PHP配置文件:/usr/local/php/etc/php.ini

禁止输出X-Powered-By,可以修改php.ini 的expose_php,把默认的On改成Off即可。

Last modification:July 2nd, 2020 at 07:30 pm
如果觉得我的文章对你有用,请随意赞赏