一天 2 亿 pv 左右 一般需要多少台机器,目前 swoole+redis+mysql

2019-04-18 11:01:54 +08:00
 void1900
一天 2 亿 pv 左右 一般需要多少台机器,目前 swoole+redis+mysql

三台机器,其中两台放着 redis+跑 swoole 服务,mysql 是云上的 1H1G 50G...

目前三台机器负载基本满了,如果换 go 会得到提升吗……

统计业务,redis 计次,定时+某些条件写入 mysql

redis
instantaneous_ops_per_sec:62207
...
9661 次点击
所在节点    程序员
80 条回复
mscb
2019-04-18 11:03:53 +08:00
峰值 qps 有多少呢?
void1900
2019-04-18 11:05:05 +08:00
@mscb 3000 左右 峰值负载基本上是满的
void1900
2019-04-18 11:06:10 +08:00
nginx status
Active connections: 37033
server accepts handled requests
31769296193 31769296193 31445439302
Reading: 2 Writing: 7 Waiting: 37024


3000 qps 是 ngxtop -l 日志文件的统计
mscb
2019-04-18 11:06:30 +08:00
我觉得 swoole 已经不错了,直接换到 go 可能不会有大的提升,但是可能还是有帮助。主要是目前瓶颈在哪个方面呢?是数据库部分还是 API 接口部分呢?
void1900
2019-04-18 11:08:40 +08:00
@mscb 数据库连接数比较低,主要是 redis 和 swoole 的服务, 两台跑 redis+swoole 的机器都分别开了 3 个 redis 实例

主要是想知道其他语言( java/go )会不会有提升
sagaxu
2019-04-18 11:08:56 +08:00
只是统计?一台就够了
void1900
2019-04-18 11:09:05 +08:00
三台机器都是 4H8G 的
Vegetable
2019-04-18 11:09:21 +08:00
换到的话是可以降低资源的消耗,但是具体能降多少就很难判断了.
void1900
2019-04-18 11:09:57 +08:00
@sagaxu 统计的维度很多。。。
mscb
2019-04-18 11:10:39 +08:00
@void1900 那可以试试切换到 go
sagaxu
2019-04-18 11:10:48 +08:00
@void1900 如果统计的 item 不多,直接放内存里,定期刷入 db,redis 都不用
void1900
2019-04-18 11:11:42 +08:00
@sagaxu 统计的计次维度相乘 大概有 50w 左右,还要 ip,uv 去重,也是放 redis,一台机器不现实吧
mscb
2019-04-18 11:12:59 +08:00
@void1900 所以看你们的业务,统计还需要做一定的计算是吗?那确实可以试试切换到 go
void1900
2019-04-18 11:14:43 +08:00
@mscb 计算其实不多,需要的资源确实和业务相关性比较强,算了,太难讨论了,关贴了。。
davidyanxw
2019-04-18 11:14:43 +08:00
一天 pv2 亿,按照 12 小时计算,qps:4629
两台机器,单机 qps:2314
qps4000+, 扩容一台机器单机 qps1500+,扩容两台机器单机 qps1200+

按照 swoole 官方的测试,swoole 的性能比 golang 会高
https://wiki.swoole.com/wiki/page/508.html

所以,个人不建议换 golang,收益不会高太多;
建议扩容,收益更高一些。
oneonesv
2019-04-18 11:17:49 +08:00
记得以前压测接口,golang 和 swoole 差距不是很大
void1900
2019-04-18 11:19:02 +08:00
@davidyanxw 主要 redis 进程 cpu 占用也在 80%左右,我在想 swoole 性能应该是够的
shenqi
2019-04-18 11:21:59 +08:00
前端外行的建议:

统计业务入口使用 go 重写,一个入口通过参数,设置不同的统计值+1,写入 redis。实时。
写入 mysql 那边通过定时或者某些条件触发现有接口写入。非实时。
liprais
2019-04-18 11:23:38 +08:00
你不用换语言就再写一遍性能都会高很多
void1900
2019-04-18 11:23:56 +08:00
@shenqi 哈哈 现在就是这样了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/556315

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX