首页 新闻 会员 周边 捐助

并发问题,如何优化

0
悬赏园豆:100 [已解决问题] 解决于 2017-09-03 08:32

小公司,用户量10万左右,日活4-5千,并发大概能有多少,如果优化的话,需要用到哪些方法?哪些技术?像队列,分布式需要弄吗?小白,求教!

问题补充:

现在并不只是想解决问题,而是就此机会好好学习一下这方面,希望有大神们可以给一些建设性的意见,谢谢🙏

lxlry的主页 lxlry | 初学一级 | 园豆:84
提问于:2017-08-28 16:36
< >
分享
最佳答案
0

前提:日活4~5k

假设:每个用户,100~500个请求(取最大值算),访问时间8小时,累计到高峰访问,算2小时。

那么,总得请求数等于 日活 * 单个请求数 = 5000 * 500 = 2500000 = 250w次请求。

总时间秒数 = 3600 * 2 = 7200s。

平均到每s,则是250w / 7200s = 347个请求/s。

这是相对极限的量,对于一台稍微好点的服务器,完全没问题。如果业务处理不复杂,那么带宽需要考虑,可能会成为瓶颈。

 

至于并发优化,这个就需要具体场景具体分析。宽泛一点,常规就是异步化(先响应,后处理。通过消息队列),分布式(分散请求,通过负载均衡+多台服务器)

收获园豆:50
幻天芒 | 高人七级 |园豆:37207 | 2017-08-28 23:14
其他回答(6)
0

用户量10万左右,日活4-5千,并发需要根据业务场景来算,最多达到1~5万。

如果优化就加个负载均衡足够了,暂时用不到分布式。

收获园豆:30
ycyzharry | 园豆:25683 (高人七级) | 2017-08-28 16:38

并没有太复杂的用户情景,平常的下单,然后发送微信消息,短信提醒,就这样一个流程。

支持(0) 反对(0) lxlry | 园豆:84 (初学一级) | 2017-08-28 16:40

@lxlry: 嗯 一般情况下并发只是几千 可以加些访问统计到网址日常监控

支持(0) 反对(0) ycyzharry | 园豆:25683 (高人七级) | 2017-08-28 16:42

@ycyzharry: 还是不太明白,这样只是监控,要进行一些就代码,技术或数据库做一些优化,可以做些什么?

支持(0) 反对(0) lxlry | 园豆:84 (初学一级) | 2017-08-28 16:44

@lxlry: 先监控啊 有了数据才知道哪些地方慢 如果是接口就优化接口

支持(0) 反对(0) ycyzharry | 园豆:25683 (高人七级) | 2017-08-28 16:54

@ycyzharry: 哦⊙∀⊙!  先观察几天

支持(0) 反对(0) lxlry | 园豆:84 (初学一级) | 2017-08-28 17:11
0

1.找出卡的地方

2.找出卡的原因

3.解决他

吴瑞祥 | 园豆:29449 (高人七级) | 2017-08-28 16:43
0

我觉得得具体情况具体分析,首先得找出性能瓶颈,然后再由针对性得优化

会长 | 园豆:12463 (专家六级) | 2017-08-28 17:53
0

 看了下你说的

“并没有太复杂的用户情景,平常的下单,然后发送微信消息,短信提醒,就这样一个流程”,

我觉得可以通过消息队列来做这个事儿,有两个好处:

1. 拆分了业务逻辑和发送微信短信的逻辑

2. 可以根据你的用户量的变化,方便的调整队列的consumer个数,

收获园豆:10
苍枫露雨 | 园豆:1027 (小虾三级) | 2017-08-28 20:16
0

负载均衡做了吗?如果没有做的话,第一阶段的优化可以做搭一个集群加上负载均衡应该就可以了,或者加一下服务器的带宽。

接下去的话,最好就是做一下静态文件的分离,优化一下前端代码,提升响应速度。

再往后的话,瓶颈应该会在数据库了,优化一下sql,或者加入缓存模块即可。

用户量没有特别大的激增的话,消息队列和分布式暂时应该用不到的。

收获园豆:10
程序员十三 | 园豆:214 (菜鸟二级) | 2017-08-29 11:06
0

你们说的日活 是啥啊

男人要爽 | 园豆:6 (初学一级) | 2017-08-30 19:00

每日活跃量

支持(0) 反对(0) lxlry | 园豆:84 (初学一级) | 2017-09-03 08:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册