说明:服务会随着使用更新,所有服务均在待机状态下,也就是非高负载均值。内存MB,cpu为双核百分比。
服务选择原则:
- 如果是C写的服务资源几乎可以忽略,当首选比如nginx
- C写的毕竟少,第二必须是rust,但是服务更少,等并入linux内核后会很多
- GO的应用这两年大量出现,资源占用也很低,git托管和CI改为GO后云资源大量节省,java滚蛋
常见服务建议:
- 数据库:postgres是趋势有的程序只有pg才能火力全开,但是mysql目前还是明显读取效率更好一点,内存富裕建议都上
- web服务器:必选是nginx,如果内存富余50MB可以上traefik,自动LE证书和服务发现,幸福指数满满
- web程序:首选go,其次flask,最后才是java、php等其他
- 监控:不是必须的,但是有了监控那个b格蹭蹭的上,对各个服务器资源占用会更直观,而且目前云厂商监控都开始收费了
- 单向NAT打洞推荐frps,稳定压倒一切
- 双向NAT相当复杂请参考stun技术
- vpn私域推荐wireguard,5.6内核开始支持,缺点是还不适合上集群,不过已经有第三方客户端在做这块了,对于个人的服务器来说绝佳,甚至可以full mesh
- Git托管:毫无疑问有钱上gitlab,最好的git托管,ruby写的资源占用极高4g内存打底。个人使用推荐gogs,占用最少,缺点是活跃度很低,不支持搜索,所以我切换到了gitea也是go写的
- docker是必须上的,swarm国外个人很流行,暂时docker-compose可以cover大部分需求,如果都是微小服务器比如内存只有1-2g就不用考虑swarm甚至k3s这些了
常见服务内存占用 (配置说明:内存/CPU)
服务名 | 描述 | 内存 | CPU |
---|---|---|---|
nginx | 一个fastcgi站点和一个静态站 | 5.45MB | 0.3% 常驻 |
traefik | 两个站点,开启gzip和ssl | 30.5MB | 1.63% 常驻 |
wordpress | 主程序常见配置 | 137MB | 6% 非常驻 |
flask | 精简程序 | 0.5MB | 0 |
flask | 大程序,一般组件 | 31.04MB | 0.05% 常驻 |
gitea | 25个库开启索引,如果不索引建议使用gogs | 131.9MB | 0 |
gogs | 25个库 | 26MB | 0 |
portainer_agent | 只有agent端 | 5.2MB | 0 |
postgresql | 一个库,版本14 | 54.44MB | 0 |
mysql | 四个库版本5.7 | 258MB | 0.1 常驻 |
redis | 一个库 | 5MB | 0.09常驻 |
haproxy | 监听一个端口 | 3.113MB | 0.01 |
frps | 监听一个端口 | 9.578MB | 0 |
dnsmasq | 10.81MB | 0.31% 常驻 | |
cadvisor | 16MB | 1.4%-5% | |
grafana | 四个仪表 | 45MB | 0.01% |
prometheus | 七八个数据源 | 204MB | 0 |
alertmanager | 一个提醒 | 13MB | 0.1 |
node-exporter | 11.22MB | 0-1.5% | |
其他exporter | 7-9MB | 0 |