您好,欢迎来到钮旅网。
搜索
您的当前位置:首页驻场服务 资源优化配置

驻场服务 资源优化配置

来源:钮旅网


驻场服务 资源优化配置

1:协助解决排查性能问题 2:排查隐患问题 3:上线之后的保障 性能问题排查

性能问题大部分集中在和mysql相关的调用,以及redis使用相关的问题,mogodb相关问题,内存问题,sso问题等等。

性能压测时以及驻场这段时间具体遇到的问题如下 mysql相关

1:mysql连接池打满,导致mysql挂掉,后来排查下来基本和慢查询有关系,慢查询个数和连接个数是成正比的。后面找到慢查询,逐个优化

2:mysql字段没做索引,增加索引/增加联合索引。

3:直接调用的接口包含很多数据和调用,其实不需要那么多数据和调用,重写接口,免去不必要的调用

4:类型语句

update`xxx`setjoin_status='Approved',latest_updated_user_id='ba2c0000-00ce-52-f4ba-08d7fb3cb569',latest_updated_date=NOW()whereidin(selectuser_idfromxxxwhereidin('ba2c0000-00ce-52-8dd3-08d7fd9e80da'));

这种两层in的语句效率特别差,执行时间要上百秒,咨询dba之后,建议使用join,改为join之后效率提升。

5:发现有update语句有慢查询,最后发现是对一条记录每秒发送了大量的update请求,导致了行锁,最后对压测用例进行修改,随机选择key。

6:一个sql查询出来的结果有几百万条,查询需要100多秒(索引也都做了),后面推荐改为分页查询/改为为limit10;

7:myslqwhere条件顺序不对导致影响sql性能,如:wherea=xxandb=yy;如果a=xx的区分度很低,这条sql性能就不会很高,需要将b=yy放到where条件的前面。

其他db相关

1:乱用redis,value大小有1.8M,导致redis挂掉,还有使用了zset,value有好几百兆,居然还有这种的。。。。。。

2:mogodb字段没做索引,导致全表扫描,查询需要100多秒,导致服务不可用,后续mogodb加上索引即可(问题是压测环境已经加了,居然生产环境没加。。。。。)

3:mogodb连接池打满的问题,调整mongodb客户端字符串参数minPoolSize=0,连接基本降低下来了(但是过程挺曲折,中间做了多次调整参数,最后才发现这个参数有效)。

4:es性能一直不达标,经过我们的es专家排查,发现是做了10个索引,每个索引5个分片。

5:sso压测,使用非集群版的时候redis会cpu消耗非常高,

想换为集群版来解决该问题,但是发现使用了redis事务,集群版不支持事务,后来修改开源源码,将事务部分代码改掉

————————————————

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- niushuan.com 版权所有 赣ICP备2024042780号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务