前提:日活4~5k
假设:每个用户,100~500个请求(取最大值算),访问时间8小时,累计到高峰访问,算2小时。
那么,总得请求数等于 日活 * 单个请求数 = 5000 * 500 = 2500000 = 250w次请求。
总时间秒数 = 3600 * 2 = 7200s。
平均到每s,则是250w / 7200s = 347个请求/s。
这是相对极限的量,对于一台稍微好点的服务器,完全没问题。如果业务处理不复杂,那么带宽需要考虑,可能会成为瓶颈。
至于并发优化,这个就需要具体场景具体分析。宽泛一点,常规就是异步化(先响应,后处理。通过消息队列),分布式(分散请求,通过负载均衡+多台服务器)
用户量10万左右,日活4-5千,并发需要根据业务场景来算,最多达到1~5万。
如果优化就加个负载均衡足够了,暂时用不到分布式。
并没有太复杂的用户情景,平常的下单,然后发送微信消息,短信提醒,就这样一个流程。
@lxlry: 嗯 一般情况下并发只是几千 可以加些访问统计到网址日常监控
@ycyzharry: 还是不太明白,这样只是监控,要进行一些就代码,技术或数据库做一些优化,可以做些什么?
@lxlry: 先监控啊 有了数据才知道哪些地方慢 如果是接口就优化接口
@ycyzharry: 哦⊙∀⊙! 先观察几天
1.找出卡的地方
2.找出卡的原因
3.解决他
我觉得得具体情况具体分析,首先得找出性能瓶颈,然后再由针对性得优化
看了下你说的
“并没有太复杂的用户情景,平常的下单,然后发送微信消息,短信提醒,就这样一个流程”,
我觉得可以通过消息队列来做这个事儿,有两个好处:
1. 拆分了业务逻辑和发送微信短信的逻辑
2. 可以根据你的用户量的变化,方便的调整队列的consumer个数,
负载均衡做了吗?如果没有做的话,第一阶段的优化可以做搭一个集群加上负载均衡应该就可以了,或者加一下服务器的带宽。
接下去的话,最好就是做一下静态文件的分离,优化一下前端代码,提升响应速度。
再往后的话,瓶颈应该会在数据库了,优化一下sql,或者加入缓存模块即可。
用户量没有特别大的激增的话,消息队列和分布式暂时应该用不到的。
你们说的日活 是啥啊
每日活跃量