欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

小内存VPS使用优化杂记

程序员文章站 2022-06-28 08:35:52
低价的VPS方案往往标配小容量主存,使用户感到捉襟见肘,尤其是安装图形化控制面板之后,优化问题便显得十分要紧,这里分享一篇小内存VPS使用优化杂记,需要的朋友可以参考下 ... 16-06-16...

初尝

自从今年年初开始尝试使用 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模式下的参数段。将该段各值修改为以下数值:

复制代码
代码如下:

<ifmodule mpm_prefork_module>
serverlimit 256
startservers 2
minspareservers 2
maxspareservers 5
maxclients 256
maxrequestsperchild 50
</ifmodule>

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

各字段含义:

serverlimit   最大客户数
  startservers  服务器启动时建立的子进程数量
  minspareservers  最小空闲子进程数
  maxspareservers  最大空闲子进程数
  maxclients    同一时间客户端最大接入请求的数量
  maxrequestsperchild 每个子进程在其生存期内允许伺服的最大请求数量

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


结语:

使用 vps 的确会让人折腾很多,但折腾也是一种乐趣,因为折腾会让人有种成功感!而且目前的网络环境来说,买个 vps 比较划算,至于为啥?需要看世界的朋友都懂的。