请教两个线上问题该怎么做好 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
plko345
V2EX    程序员

请教两个线上问题该怎么做好

  •  
  •   plko345 2022-11-27 13:17:43 +08:00 via Android 3396 次点击
    这是一个创建于 1051 天前的主题,其中的信息可能已经有所发展或是发生改变。

    第一个是一个 java 服务接口被打满,出现无法接收新请求( hang 住),开发检查后发现线程数上升到 1000 多,认为这是 cpu 不足导致( 4 核),需要加服务器,但 cpu 利用率和上下文切换都比较低,不过加服务器确实能提高这个服务的总体并发。我认为临时加是没问题的,先解决紧急情况,但他们得把这个接口优化下,提高单实例并发数,不过他们不同意这点。

    第二个是安全相关的,怎么防止代码源码传到外面,各位公司有什么机制想参考一下

    17 条回复    2022-11-28 23:49:57 +08:00
    lingalonely
        1
    lingalonely  
       2022-11-27 13:27:31 +08:00
    1. 第一个问题,我可以理解为一个请求处理时间过长,导致后面请求堵塞么,看你描述应该是这样的,这种大概率通过异步的方式可以解决。
    2. 第二个,我知道的情况是基本做不到,除非类似华为的管理方式,单纯技术角度是无解的,还不如花大精力在账号安全上,防止相关账号流出
    Jlzeng
        2
    Jlzeng  
       2022-11-27 13:34:41 +08:00
    1 、加硬件能解决问题,就最好别动代码;
    2 、通用做法是云上开发,代码只能在远程云上解密和编译,但一切手段都抵不过社会攻击,只能在招聘时防范;
    nmap
        3
    nmap  
       2022-11-27 13:51:05 +08:00
    第二个是应该考虑的问题吗?商业公司的代码有个鸟价值,有价值的是数据!
    kidlj
        4
    kidlj  
       2022-11-27 13:58:47 +08:00
    1. 假设一个请求一个线程来处理,线程积累到 1000 多,说明线程处理请求慢。这时候可以加日志,看一下是哪一步导致的响应慢,大部分情况下问题出在 IO ,比如读写数据库。这样就可以有针对性地优化请求响应时间,线程数也就会回落。
    opengps
        5
    opengps  
       2022-11-27 13:59:18 +08:00
    第一个问题,短期还是要用加服务器数量即可解决的“通用办法”,提高单机承载力属于后续的慢工
    第二个问题,根本不需要过于在意,非超高的科技行业里,代码本身并无价值
    xuanbg
        6
    xuanbg  
       2022-11-27 16:40:03 +08:00
    第二个问题真的没必要过多考虑。我们从来就不缺代码,也不缺拉屎的程序员,缺的永远是肯吃屎的程序员。。。至于不拉屎的程序员,咱就不奢求了。
    clf
        7
    clf  
       2022-11-27 17:59:18 +08:00
    1.加服务器,后续找个架构师看看。

    2.签保密协议就行。
    berg223
        8
    berg223  
       2022-11-27 19:52:52 +08:00
    1. 从你的描述来看,应该还没搞清楚瓶颈在哪,瓶颈可能是磁盘,网络,内存,肯定不是 cpu 。我认为在没有找到问题根本原因之前提出的方案就是扯淡,包括无脑加机器这个方案。我不理解你的友军为什么会不同意你提高实例并发这个建议,我认为他们不够专业。
    wangritian
        9
    wangritian  
       2022-11-27 20:12:45 +08:00
    cpu 占用低但请求进不来,可能是程序内线程池或锁控制住,也可能是依赖的服务跑满(这时候加机器也解决不了),带宽跑满也容易被忽略
    akira
        10
    akira  
       2022-11-27 20:23:04 +08:00
    对于问题 1 , 服务器成本 和 人力成本 做下衡量就是了。目前你们现在还处于早期业务验证阶段,这个时候业务才是最重要的,优化只有在成本失衡的时候才需要去考虑
    dqzcwxb
        11
    dqzcwxb  
       2022-11-27 20:54:49 +08:00
    把线程池换成 forkjoin
    vitoliu
        12
    vitoliu  
       2022-11-27 23:12:44 +08:00
    第一个问题,cpu 利用率和上下文切换较低,但是接口还是被 hang 住,从我的经验来看,考虑下是否因为线程并发任务太多导致内存不够频繁 GC ,
    如果是的话只需要扩大 jvm 内存就行。
    如果不是的话,先临时加服务,后面可以 dump 下堆,看看具体是哪些线程一直在占用 cpu ,代码里面是否有特殊处理。最后判断下当前接口的性质,如果是强业务接口(各种跨服务和事务调用),4 核机器的确可能处理有限,如果不是的话肯定就是代码问题了。
    vitoliu
        13
    vitoliu  
       2022-11-27 23:15:15 +08:00
    第二个问题,要想防止代码流传到外面很简单,做好员工监控,公司配电脑,安装流氓软件,出口网关流量分析……
    不过最终效果不一定好,只能说目前大厂基本都是这个操作。
    zbatman
        14
    zbatman  
       2022-11-28 09:45:08 +08:00
    第二条,建议在每个员工工位后装摄像头,再买一套深信服的监控系统,设置定时全屏截图员工屏幕上传。如果还不放心,再给每个程序员招个“程序员监控师”,坐在程序员边上,人盯人
    WhatMelon
        15
    WhatMelon  
       2022-11-28 10:26:57 +08:00
    第二个问题要不看看 数篷科技
    plko345
        16
    plko345  
    OP
       2022-11-28 23:48:45 +08:00
    谢谢大家, 第一个问题主要是不知道如何跟他们沟通, 说服他们去找到根本问题并优化
    plko345
        17
    plko345  
    OP
       2022-11-28 23:49:57 +08:00
    @vitoliu
    @zbatman
    我也是员工, 还是不坑自己和同事们了, 这些方案听起来好残忍
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2900 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:06 PVG 22:06 LAX 07:06 JFK 10:06
    Do have faith in what you're doing.
    ubao 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