压测问题总结

        压测经历的痛苦无以言表,但是所获与成长是显著的。记录点点滴滴,都是汗与泪的总结。

--------- 动账通知 ----------

1.kafka 参数调整:

·socket.receive.buffer.bytes 6024100 -> 1024100 注:kafka和消费者必须保持一致。

·kafka建议增添监控措施。

·停止操作一定要规范,不然会出现僵尸进程,需要重启很麻烦。

2.动账通知消费者:

·max.partition.fetch.bytes -> 2097152。

·配置文件kafka.poolTimeout 由5000改成500。

·messageId进行统一化。

·参数尽量使用对象传递,维护方便。

3.动账通知的代理IHS需要注意配置。

---------   红包   ----------

1.拆红包的过程是Ajax请求,openId必须从session中获取。

2.将数据库的序列索引的高速缓存由 20改为1000(中行基本都是1000)。

3.在日期索引列添加反向索引,或者将日期详细化,以达到良好的哈希分布。

4.静态资源前置或者压缩问题,流量等于文件大小*8.

---------   指令   ----------

1.scala的隐式转换,在高并发时会出现问题。类加载器不充足问题。

2.代码最好有良好的格局,牛逼的代码,让人易懂才是首要前提。

---------   页面   ----------

1.减少数据库操作,尤其是可以以更优雅的方式解决的情况。

2.能再数据库中处理的逻辑,最好不要放在代码中。

3.减少接口的访问频率,以最大化利用接口访问信息。注:网络传输的代价更高!!!!

---------   挡板   ----------

1.配置文件初始化到内存,最大限度减少IO操作。

2.成员变量必须定义成final,在高并发是成员变量的误操作会产生大BUG。

3.开发代码一定要有管理工具,及时提交代码并填写注文。

4.开发必须实现定好规范,前期的繁琐会给后续问题解锁。

---------   其他   ----------

1.控制台日志必须关掉,有时会产生死锁问题,影响TPS 从250降到30。

2.环境务必保持一致,以便减少对环境问题的猜疑。

3.停止程序尽量不要强停,以更优雅的方式停止会更好,尽量使用钩子程序。

4.IHS中添加静态资源的缓存配置。

5.开发前一定明确业务需求,项目要灵活易扩展。

最后,问题还需要正面应对,逃避是糟糕的想法。

猜你喜欢

转载自see-you-again.iteye.com/blog/2367059