前端不停请求数据,后端同一接口处理,但是需要经过查询插库计算再返回,如何进行拦截与优化?

2019-09-05 10:36:48 +08:00
 fileinthehole

如题,前端目前每秒访问一次后端的某接口,在只有一个页面时,还好,但打开多个网页同时进行时,后面的网页就会阻塞取不到数据,怀疑是后端处理不过来了,是否应该增加拦截或者缓存什么的,求各位 V 站大神教教后端小白。

5070 次点击
所在节点    Java
18 条回复
arrow8899
2019-09-05 10:56:12 +08:00
缓存+负载均衡
MarkOrca
2019-09-05 10:59:44 +08:00
是不是表查询有问题啊,感觉上就这样操作也不至于取不到吧
fileinthehole
2019-09-05 11:01:05 +08:00
@arrow8899 就一个服务器,跑一个后端怎么负载均衡啊?
fileinthehole
2019-09-05 11:01:33 +08:00
@MarkOrca 表查询没有问题啊,我开一个网页时没有任何问题,但是打开多了就卡住了阻塞了
jugelizi
2019-09-05 11:11:03 +08:00
最简单的文件锁
passerbytiny
2019-09-05 11:21:44 +08:00
每秒访问一次、查询插库计算再返回:1 写+读 /1 秒 /1 客户端 的量已经摆在这里了,从前端到数据库的优化,都是不可能的,你得重新设计整个业务流程。
learnshare
2019-09-05 11:24:00 +08:00
如果是同一份数据,可以缓存,后端限制查询频率
buliugu
2019-09-05 12:48:51 +08:00
把轮询改成 websocket 实现就好了,后端可以控制推送频率
molvqingtai
2019-09-05 13:38:37 +08:00
websocket
arrow8899
2019-09-05 13:39:50 +08:00
@fileinthehole 排查一下瓶颈在哪儿,网络,CPU,数据库等,以及你的代码,一般的单台服务器足够支持几百个并发的。
opengps
2019-09-05 13:43:24 +08:00
只是查询的话加缓存处理,不要每次都读数据库
LeeSeoung
2019-09-05 14:02:36 +08:00
是不是锁表了。。
kiddingU
2019-09-05 14:05:44 +08:00
websocket
fileinthehole
2019-09-05 15:05:05 +08:00
@arrow8899 我感觉也是数据库部分出问题了,用的 hibernate,但是没有仔细研究
xiaoyaojc
2019-09-05 18:08:42 +08:00
为什么会有这个奇怪的接口?难道是扫描二维码去轮询去校验是否登录的么?
akmissxt
2019-09-05 23:19:26 +08:00
同楼上说的,并发量大,高频的不要每次都读数据库,加个缓存...
chocotan
2019-09-06 11:07:50 +08:00
不要你感觉,你需要用工具查一下
fileinthehole
2019-09-06 16:42:11 +08:00
@akmissxt
@chocotan 下周一我加一个缓存试试,谢谢回复

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

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

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

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

© 2021 V2EX