请教一下 Java 接口性能优化的方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qwer666df
V2EX    问与答

请教一下 Java 接口性能优化的方案

  •  
  •   qwer666df 2021-08-12 17:42:09 +08:00 1813 次点击
    这是一个创建于 1573 天前的主题,其中的信息可能已经有所发展或是发生改变。

    正常一次一次点击返回时间是 300~700ms, 如果快速一直点击的话,就会卡住然后超时了, 这还是单机我一个人测试的的情况下
    里面的操作大改是
    1. 业务里面用了大量的同步 db 操作,select/udpate 的比较多
    2. 有两个三方 sdk curl 的操作,但是这个耗时还好在 10ms 之内,所以问题还好

    分段看了一下执行时间了一下,大多都是 db 的瓶颈好像

    10 条回复    2021-08-14 13:57:10 +08:00
    Finest
        1
    Finest  
       2021-08-12 19:44:43 +08:00 via iPhone
    并发读写数据库

    跟数据库就近部署
    luckyrayyy
        2
    luckyrayyy  
       2021-08-12 19:59:43 +08:00
    多大量?一般同机房的 db,数据库操作都在几毫秒的量级,除非你大量循环不然怎么也到不了几百毫秒。或者是跨城市的远程数据库?
    Kimen
        3
    Kimen  
       2021-08-12 20:14:46 +08:00
    前端也可以用节流或者防抖控制一下点击
    spikie
        4
    spikie  
       2021-08-12 20:25:34 +08:00
    1. 前端限制点击间隔
    3. 后端开线程池异步化处理
    4. 增加接口服务器并发线程
    akira
        5
    akira  
       2021-08-12 20:49:11 +08:00
    你都说了瓶颈在 db,那就是针对你的 select/update 优化啦
    swim2sun
        6
    swim2sun  
       2021-08-13 07:44:59 +08:00 via iPhone
    1.看看能不能并行话
    2.优化查询
    3.考虑加缓存
    qwer666df
        7
    qwer666df  
    OP
       2021-08-13 09:18:15 +08:00
    @spikie #4 业务不能限制点击次数, 只能看看第二步线程池了, 这个还真没在实际上项目中用过, 谢谢大佬提醒


    @akira #5 昨天晚上看了下, select/update 没啥优化的了, 在研究能不能改成异步 sql


    @swim2sun #6 缓存是要加了, 这项目太老, 好多业务头疼
    waitingChou
        8
    waitingChou  
       2021-08-13 17:15:24 +08:00
    听起来感觉像是数据库锁竞争,没 SQL 也没啥思路。同一个用户的话做点击频率控制下

    看你描述操作的内容不少,追求前端响应体验的话,可以把点击操作成功,改成点击提交成功。
    接口只提交操作任务,后台慢慢执行,这个要看业务上能不能接受
    qwer666df
        9
    qwer666df  
    OP
       2021-08-13 17:22:26 +08:00
    @waitingChou #8 是送礼的逻辑, 所以 sql 操作比较多, 也就不好贴出来了,. 因为是送礼, 所以不能控制频率, 后端这边只能提高性能, 白天看了一圈代码发现, 里面有用到事物, 还有一些方法甚至加上了 synchronize, 下周打算都去掉看看并发吧, 不行再上缓存了
    akira
        10
    akira  
       2021-08-14 13:57:10 +08:00
    @qwer666df 那考虑过做数据库的硬件升级没, 升级也能解决大部分问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2913 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 00:31 PVG 08:31 LAX 16:31 JFK 19:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86