您的位置 首页 宝塔面板

Linux宝塔面板高并发优化方案

一、设置 Swap 虚拟内存

swap 是 Linux 系统的虚拟内存,客户访问网站实际是通过内存执行,云服务器内存有限,大流量访问会导致内存不足。为解决该问题,当物理内存不足时,系统就会自动调用硬盘来充当内存,以弥补内存的紧缺,这就是虚拟内存的作用。现在的云服务器大多都是 kvm 虚拟架构的,开启虚拟内存就更有必要( OVZ虚拟架构机器不可用此功能 )。当然如果内存32G以上就不用考虑开启 swap 了。

开启方法:【 软件商店 】安装Linux 工具箱,然后在 Linux 工具箱窗口点击左侧的【 Swap/虚拟内存 】,填写 Swap 虚拟内存 大小,然后点击【确定】。宝塔官方建议 swap 容量在真实内存容量的1.5倍左右,若您的服务器内存大于4GB,可设 1-2GB 的固定值。(1GB=1024MB)

Swap推荐值:

Linux工具箱 不能使用的解决方案

输入一下命令:

dd if=/dev/zero of=/mnt/swapfile bs=1MB count=1024

把刚才创建的文件做成 swap 文件

mkswap /mnt/swapfile

开启 swap

swapon /mnt/swapfile

查看状态

swapon -s

查看内存状态

free -m

=========以下操作能确保 swap 更安全,且重启后有效===========

查看 vim /etc/rc.local 如果有 swapoff -a 修改为 swapon -a,我这里是没有这个的。

vim /etc/rc.local

设置自动挂载

vim /etc/fstab

把下面命令添加到最下面的空行

/mnt/swapfile swap swap defaults 0 0

权限设置

chown root:root /mnt/swapfile

chmod 0600 /mnt/swapfile

查看 swappiness 值。

cat /proc/sys/vm/swappiness

如果为 0 ,则将其改为 10

·sysctl vm.swappiness=10

永久设置 swappiness,如果该文件里没有,则追加 

vm.swappiness = 10
vim /etc/sysctl.conf

重启,那些永久设置项就生效了。

PS:swappiness=0 的时候表示最大限度使用物理内存,然后才是 swap 空间,swappiness=100 的时候表示积极的使用 swap 分区,并且把内存上的数据及时的搬运到 swap 空间里面。

在Linux系统中增加Swap交换空间、交换内存

验证配置

最后,我们可以通过以下命令来验证Swap空间是否已正确配置和启用:

swapon --show或者free -h

这些命令将显示系统上当前启用的Swap空间的信息,包括大小和使用情况。

出现下面类似的代码 说明设置成功

sudo chown root:root /www/swap/swapfile

sudo chmod 600 /www/swap/swapfile

二、添加计划任务释放内存

释放内存就是将驻留在内存中的数据从内存中释放出来,提高内存资源的利用率,提升云服务器性能。宝塔面板已经考虑到了内存释放的问题,可以添加内存释放计划任务,让服务器每天或每周释放一次,释放PHP、MYSQL、PURE-FTPD、APACHE、NGINX的内存占用,建议在每天半夜执行,间隔时间根据自己网站的用户量及内存占用百分比来定。

释放方法:

宝塔面板点击左侧导航的【 计划任务 】选择任务类型为释放内存,根据自己需要设置执行周期和执行时间,点击确定即可。

使用PHP 缓存扩展

脚本缓存:xcache、opcache内容缓存任选一项安装,2-5.4建议使用xcache,PHP5.5以上建议使用opcache

内容缓存:若程序支持,建议优先顺序如下: redis > apc > memcached > memcache

注意:内容缓存和脚本缓存,都各只安装一个,不要安装多个,否则可能导致您的站点程序异常。

但是Memcached和redis两个内容缓存同时安装。缓存扩展并不是越多越好,反而拖慢php执行效率

若程序支持,尽量使用imagemagick代替PHP自带GD,以提升性能
若程序支持,尽量安装fileinfo、exif扩展,以提升站点性能和安全性
若确定您的程序不需要,尽量不要安装ZendGuardLoader,ioncube解密扩展
若您的程序不需要PATH_INFO,请把它关闭

安装方法:

登录宝塔面板,进入已安装PHP版本的管理界面,在管理界面左侧的【 安装扩展 】,选择您需要的缓存插件进行安装。

  • php 配置优化和性能调整(并发)

PHP并发调整建议:
CPU/内存          单站点               多站点
2H/2G              50-80                 30-50
2H/4G              60-100               30-50
4H/4G              100-150             30-80
4H/8G              100-200             30-80
6H/6G              100-200             30-80
8H/8G              100-300             50-100
8H/16G            100-300             100-150
16H/16G          100-300             100-150
注1:容易受到CC攻击的站点使用的PHP版本,尽量不要设置过高的并发,以免服务器被打死
注2:不建议设置超过300并发上限,哪怕服务器性能足够好;若发现并发不够用,请尝试优化站点数据库缓存可能更有效

1、memory_limit 用来设置脚本内存的临界点,也不是说设置的越大越好,原则上脚本内存的设置不要超过云服务器的物理内存, 否则可能会导致启用磁盘swap,服务器资源耗尽,最后死机。

配置修改:登录宝塔面板,进入已安装PHP版本的管理界面,在管理界面左侧的【 配置修改 】里,把 memory_limit  脚本内存限制修改成 256M(默认是128M),然后保存即可。

2、并发量和日访问量是两个概念,所谓并发可以简单理解为同一秒访问网站的客户数量,假设并发设置为50(即每秒同时访问50次),那么 1 分钟就可以有 3000 的访问量。但也不是说并发设置的越大就越好,如果并发数设置过大,被 CC 攻击时服务器宕机挂掉的可能性也十分的高,建议并发数设置不要超过 300

性能调整:php的并发调整是优化中至关重要的环节,宝塔面板里面自带了几个并发优化方案,一般 4 核 8G 内存的云服务器,设置 30 并发或 50 并发就可以。

  • MySQL数据库版本建议:
    CPU/内存            数据库
    1H/512M             MySQL5.1
    1H/1G                 MySQL5.1/5.5
    2H/2G                 MySQL5.1/5.5
    2H/4G                 MySQL5.5/5.6
    4H/4G+               MySQL5.5/5.6/5.7

MySQL 进行性能优化:宝塔面板非常人性化,内置了数据库性能优化方案,我们只需要鼠标轻点即可完成。进行性能一键优化后,保存并重启数据库,然后在当前状态进行观察,根据建议做适当的调整。

设置方法:登录宝塔面板,进入已安装MySQL版本的管理界面,左侧的 【 性能调整 】,根据您的服务器配置选择优化方案,然后先保存再重启数据库即可。

七、Session 存储设置

Session 称为会话信息,位于web服务器上,主要负责访问者与网站之间的交互,当访问浏览器请求 http 地址时,将传递到web服务器上并与访问信息进行匹配,宝塔默认 Session 保存在指定的文件夹中,当用户访问时要从文件中检索 Session ID ,效率不高,宝塔面板可以把 Session 存储位置修改到 redis ,提高会话信息检索效率,减少响应时间。

设置方法:1、软件商店里安装Redis;2、PHP扩展安装redis插件;

3、打开 redis 设置窗口,再点击 redis 窗口的左侧【性能调整】,在 requirepass 一栏输入密码,这个密码自己设置,越复杂越好,设置完成后复制你设置的密码,然后点击【保存】;

  • 打开 php 管理窗口,再点击 php 管理窗口左侧的 【 Session设置 】,存储模式切换成redis,然后在密码位置粘贴上一步复制的密码,然后点击保存。

八、站点修改 流量限制

在站点设置中的“流量限制”,启用后方案根据个人情况自选,一般选择博客就行,这样对网站有一个基础的防护作用,将来哪天网站被 DDOS 或者 CC 攻击,这里会有一定的作用。

并发限制:同时有 300 人访问你服务器,一般的小博客不会有这么大的并发。

单 IP 限制:一定时间内同一个 IP 访问网站的次数限制。这个根据你网站流量来设置,一般 10 个左右不少了。

流量限制:用来限制单 IP 每个请求的流量大小。

以上三个设置可以按照宝塔面板给你弄好的默认数值,如果你不确认很明白选项的意思,不要私自更改,很可能会影响到服务器性能。

1.本文来自网络,不代表拍客圈立场,转载请注明出处:https://202688.cn/baotamianban/556.html

2.未经原版权作者许可,禁止用于任何商业环境,任何人不得擅作它用,不得用于违反国家法律,否则发生的一切法律后果自行承担!

联系我们

联系我们

微信9953517

在线咨询: QQ交谈

邮箱: njknjknjk@126.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部