总摘要: post请求. java对象逃逸. 优化
2017-12-04
- 摘要: post请求. java对象逃逸.
1. 一次POST请求提交30K的数据 合适不? 3四万个字符[北京-高天悦]
成都-梅小西(-) 10:24:06
可以啊.
北京-漫游(-) 10:24:08
不合适。。看接口调用频率吧。我觉得放nosql数据库,再传个key比较好, 看接口调用频率和响应速度了, 反正理论上你传多少都没问题。
北京-高天悦(-) 10:30:26
其实我是一次传4000个ID, 想一块儿传, 调用频率是一天一次
北京-漫游(-) 10:34:24
那随意, 我以为你是我们之前那种, 采集用户的基础信息上报。。开始是和基础服务在一起,后来拆分调单独服务了.
北京-高天悦(-) 10:37:20
成千上万个ID 怕万一定时访问失败了
北京-漫游(-) 10:37:55
那是失败重试,报警,补偿的问题了,和你post传输多少数据没啥关系, 一天一次的定时无所谓
北京-高天悦(-) 10:38:44
服务器也会限制请求最大长度吧, 最大的数据是3~4万个ID, 理论上不会超过2万个ID我请求其他服务, 算了 不让这种批量
2. java对象逃逸。都是指this逃逸吗?[成都-javaer]
成都-梅小西(-) 15:22:53
是
成都-javaer(-) 15:23:00
使用了 未发布完整的对象的一些属性, 我看 书一般出现在构造函数, 逃逸的对象 不会分配在堆内存?Hotspot编译器能够分析出一个新的对象的引用的使用范围从而决定是否要将这个对象分配到堆上
成都-javaer(-) 15:29:28
开启逃逸分析 之后是之前的五倍性能, jdk6 u23之后。就默认开启了 逃逸分析. 《 并发编程实战》.
北京-年轮的方向(-) 15:36:34
按我的理解逃逸 是在方法内部创建了一个对象,jvm会分析这个对象是不是仅仅只在当前方法内使用,并没有传到其他方法,这样的话则会使用栈内存分配对象,方法结束直接回收。。。没明白与 this 有什么关系。
北京-EP查水表(-) 15:36:41
那肯定了……,这是jit优化的一部分, 逃逸分析,不是指this.
如果特别强调了this只是因为,this是一种潜在的逃逸场景,但是你代码上可能注意不到.
北京-年轮的方向(-) 15:39:16
这确实不容易注意。set get 算逃逸吗?
北京-哇咔咔(-) 15:41:19
逃逸是指在多个线程使用相同 对象,就认为对象逃逸.只在一个线程使用的对象不算逃逸.
成都-javaer(-) 15:41:32
逃逸分析另一个重要的优化 - 同步消除. this逃逸是指在构造函数返回之前其他线程就持有该对象的引用. 构造函数 启动线程 比较典型. 之前我这样干过, 不过 还好 没用this的东西.
杭州-老猫(-) 15:46:33
哈哈,别逃逸分析了,每一个人能说清楚的东西,说来说去都被带偏了
北京-EP查水表(-) 15:55:48
this逃逸一个典型场景是 public的“成员内部类”, 就会造成this逃逸,影响gc.
成都-javaer(-) 15:57:09
这个就会出现。ThisEscape还没有初始化完整 但是线程都使用了 他的引用, 逃逸 会出现 不正确的现象。比如 你初始化的thisEscape的 变量值。 但是线程使用的时候 可能还没有初始化完整.
成都-javaer(-) 15:59:29
开启逃逸分析。就会把这些 不会分配到堆内存了吧.
北京-EP查水表(-) 16:02:00
你这个就是安全发布啊……你这个不就是“成员内部类”么,不过我刚才说的public倒是不对,因为,他可以用接口形式返回
成都-javaer(-) 16:02:55
就是发布逃逸 其实他们是一起的, 逃逸的前提 就是发布3,哈哈
北京-EP查水表(-) 16:03:25
最好就是不要使用成员内部类就好了,全用static的
成都-javaer(-) 16:03:36
哈哈哈哈‘可以, 直接安全.
3. redis 集群20台 30台会影响性能吗?[北京-高天悦]
杭州-东子(-) 21:34:28
会
中山-划船(-) 21:42:59
@北京-高天悦 你怎么集群?什么操作
北京-高天悦(-) 21:43:16
官方cluster ,我们十几台, 目前个别操作达到 响应1秒以上,DBA没找到原因.
北京-高天悦(-) 21:47:20
redis qps达到50万
北京-高天悦(-) 21:47:29
偶发达到30几十毫秒
中山-划船(-) 21:53:12
@北京-高天悦 批量插入是慢的
北京-高天悦(-) 21:53:21
没有批量, 集群会增加QPS能力么?
中山-划船(-) 22:01:57
cluster 所有命令都支持吗?
北京-高天悦(-) 22:02:53
我不清楚 我自己不用cluster 我觉的不如twenproxy-cluster族 好 , 目前我们缓存大量依赖cluster
中山-划船(-) 22:06:21
twenproxy好久没更新了,好多命令不支持, 好在支持pinple.
2017-12-05
- 摘要: 优化.
1. 优化讨论.
深圳-Mt<-> 17:46:18
压测 发现性能不满足, 不知道往哪方面入手
北京-Easy哥(-) 17:46:26
又不是 别人的参数 你就能用 , 哪慢?压测的数据结果呢
杭州-dream(-) 17:49:35
99%的人都想从系统的层面优化,然而99%能优化的地方都是业务
广州-虎行(-) 17:51:56
因为系统坑填完一个是一个,但是业务优化有填不完的坑
北京-Easy哥(-) 17:53:11
优化有2种思路 一种是自顶向下 一种是自下向上 , 自顶向下 就是把业务当黑盒 去 trace整个系统 , 最后一步是 优化业务 ,不过 国内的系统 99%不需要, 所以 好多人 一说 秒杀 求的是系统架构 而不是业务架构, 那天说秒杀也说过了 当你把机器的性能榨干的时候 就只能去让你的业务逻辑去适配了, 不过 很多系统都是 资源闲置状态, 所以 也不需要去优化业务, 这也是为啥 一说优化 都是 运维的人去做的原因, 运维 每天告诉你 这有问题 那有问题 你去改一下就完了 ,一般都是 加机器 .