小内存VPS使用优化杂记

avatar 2021年8月18日18:00:50小内存VPS使用优化杂记已关闭评论 43

初尝

自从今年年初开始尝试使用 VPS 后,就喜欢上了这个折腾。在 VPS 的折腾路上用了好多个 VPS 提供商,基本都是 256 M内存的 VPS(因为这个内存的价位比较适合我,再高的内存就会感觉浪费了),有 OpenVZ、Xen、Kvm 的。

最初在使用 PhotonVPS、lightwave 的 Xen VPS,测试后我选择了 lightwave,因为不知道是我的 RPWT 还是啥原因,PhotonVPS 到我手里就会无缘无故挂机。

lightwave 使用一段时间后,线路偶尔抽,就又尝试了几家 VPS(有家让我遭遇数据丢失的灾难:幸好有备份),后来折腾烦狠心买了个 Linode 的 512,但用了半个月就撤了,虽然是3个朋友一起用,但还是觉得价格太高浪费太大。

然后又蛋疼地搬回 lightwave……可惜还是线路问题(后来的判断是线路偶尔抽 + 我的网站环境配置不够好),几个好朋友的合租解散……当然,自己也感觉折腾累了

进阶

大概 3 月中旬,我找到了 ramhost,守株待兔买了一个 128M 内存的 OpenVZ 的 VPS 试用,打算只放自己博客。当时对 VPS 的网站环境配置稍微有点了解,而且也放弃了国内的一键包,尝试国外的一键包,结果效果很好。放了一段时间后,就有2个朋友加入,128M 放了 3 个博客,ramhost 的 vps 很稳定,不会莫名其妙挂机,偶尔 502 是因为我的内存太小了。又大概过了2、3个月,又加入了一个朋友,这时我发 ticket 给 ramhost 客服要求把内存升到 256M。主机一直稳定运行到 9 月份,期间除了一次服务器升级需要重启,没有重启过。

在 9 月份我入了 ramhost 第二个 VPS,基于 KVM 的 VPS,刚买下不久杯具来了:ramhost 自家的客户数据库因为机房硬件问题导致损坏,恢复花了大概3个星期,期间 VPS 开始不稳定,因为后台挂了,所以 VPS 挂机后发不了 ticket,只能通过邮件联系客服帮忙重启,遭遇一次邮件发了 36 小时木有回复帮忙重启!渐渐的我对 ramhost 的 vps 也感到失望了。但无奈 256M 的 vps 是季付的,所以咬咬牙坚持了差不多 2 个月。期间又发生了服务器被 DDOS 事件,2 台 VPS 时而发生没有反应(类似挂了)的情况……各种郁闷,2 个 VPS 互相搬家 n 次~囧rz

到了 10 月底,我终于受不了了,ramhost 的 kvm 和 openVZ 的 vps 都还有一个月,而现在的表现是 openVZ 的比较稳定。于是我决定另找一家 VPS,经过10多天的挑选——其实是不相信那些 VPS 推荐网站了,水太深!后来还是在朋友的推荐下找到并买下 Hostigation 的基于 kvm 的 128M vps(这可费了我好几天的关注才买到,因为 Hostigation 和 ramhost 一样不是天天有货的),买下第二天我就发 ticket 升级到 256M。现在已经稳定运行了半个月,每天都很速度很稳定,希望能保持。

在经过这么多折腾(安装环境、搬家无数次)后,我的总结是(不一定正确,只能参考):256M 的 VPS 最好放 3 个 WordPress 博客(每个博客日PV在 1800 以下),虽然可以放 4 个甚至 5 个,但表现出来的就是时不时会卡,时不时 502/504 给你看。也许这跟环境配置技术有关,但对于我来说的确是极限了。(比较技术的朋友说设置好的话放8个都没问题)

目前我喜欢手动配置环境了,不再使用一键包,一键包其实虽然安装傻瓜化,但是要达到效果,特别是小内存 VPS,参数要重新根据自己的 VPS 设一遍,所以我干脆就手动安装配置。

优化 使用WDCP的VPS内存的占用


这几天,装的wdcp内存占用一直居高不下,一共1G的内存,真实占用的只剩下60M可用,根据教程,调整了以后,果然明显下降,现在把教程放在这里,供自己也供有需要的人参考。

首先登陆SSH,查看是什么占用内存,

复制代码

代码如下:

ps -aux

命令

由于写这篇文章的时候,我已经调整好了,我就不贴调整前的截图。在实际的查看中发现大部分占用内存的程序是httpd所导致的,针对这个现象我们来优化apache配置文件httpd.conf。

对于安装wdcp的VPS,修改的文件是/www/wdlinux/httpd-2.2.22/conf/httpd-wdl.conf

我装的V3版本的是httpd-2.4.18

在httpd-wdl.conf中找到 ,这里就是apache在prefork模式下的参数段。将该段各值修改为以下数值:

复制代码

代码如下:

最重要的占用内存的参数是标红的几个。 经过上述设置之后,httpd子进程数保持在最小2个,多余的进程在处理请求超过50个后自动销毁释放内存(这个数值不要设为0,否则http进程会一直不销毁),从而保证在正常流量下内存得以及时释放。这些数值可以根据需要适当调整,以适应内存大小。修改后重启apache服务生效。

各字段含义:

ServerLimit   最大客户数
  StartServers  服务器启动时建立的子进程数量
  MinSpareServers  最小空闲子进程数
  MaxSpareServers  最大空闲子进程数
  MaxClients    同一时间客户端最大接入请求的数量
  MaxRequestsPerChild 每个子进程在其生存期内允许伺服的最大请求数量

调整好了,在服务重启中,选择web重启,重启后的效果很明显,直接掉落到真实占用200多m,经过几天的使用,一直在350m到400m之间。

结语:

文章来源于互联网:小内存VPS使用优化杂记

avatar