性能优化与故障排查系列
文章平均质量分 89
手把手带领大家学习性能优化,用真实的案例教大家如何对JVM调优、提高系统性能、快速定位和解决声场故障。
外企牛马
某500强外企打杂
展开
-
解决方案 | 基于SFTP协议的文件传输断点续传Java实现方案
因项目需要,我们服务每天都需要通过SFTP协议来对接上下游进行文件传输,但是对于一些大文件,在与第三方公司的服务器对接过程中很可能会因为网络问题或上下游服务器性能问题导致文件上传或者下载被中断,每次重试都需要重新对文件进行上传和下载,非常浪费带宽、服务器资源和时间,因此我们需要尽量提升文件传输效率,减少不必要的文件传输损耗。原创 2024-01-23 16:31:03 · 3434 阅读 · 2 评论 -
优化Google Cloud Storage大文件上传和内存溢出
我们的项目每天都会并行上传好几万份文件到下游的,当文件比较大时,会采用GCP的可续上传方案,通过把文件切分成多个数据块,分多次HTTP请求上传到GCP Bucket,具体可参考。但是在实际应用中,会发现文件比较大时,由于数据包会被分成多次HTTP请求上传,偶尔GCP会返回400错误码导致上传失败,但是查看各个请求参数都属于正常,目前不确定GCP一些网络限制导致还是该 API 存在性能问题,于是选择使用另一种替代方案,尝试使用以下方案,通过GCP 官方SDK进行文件上传。参考。原创 2023-05-05 01:16:29 · 1487 阅读 · 0 评论 -
如何在Linux监控每个进程对应的线程数
现在的 CPU 基本都是由多个核心组成,加上我们现在的微服务,更加充分利用多核处理器的强大功能,我们的微服务都会开启多线程进行各种任务处理,这也导致我们遇到问题的时候很难定位。例如我们线上排查问题,可能需要有关,但如果没有一些强大的APM工具,我发现身边很多同事其实还不知道如何进行线程监控。在本文中,我们将向您介绍可用于检查和监控线程计数数据的所有工具和命令。原创 2023-03-21 01:02:23 · 2631 阅读 · 0 评论 -
事故复盘 | 对不同的ID更新操作竟然也引发死锁?
我们有一个数据集成平台,主要为上下游系统提供数据传输网关服务,把上游系统的文件传送到下游系统。前段时间,团队同事发现了Production的文件经常传输超时,经简单排查发现数据库表中的文件传输状态经常更新失败(例如状态没办法更新为Finished)导致文件被误认为传输超时或者文件处理中断而频繁触发了重试机制。这些报错信息都是发生在有update语句操作附近,并且当我们并行处理的文件越多的时候,报错越频繁。原创 2023-01-07 16:44:31 · 1046 阅读 · 0 评论 -
浅谈高并发解决方案
浅谈高并发解决方案什么是高并发?高并发(High Concurrency)通常是指通过设计保证系统能够同时并行处理很多请求。通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问同一 API 接口或者 Url 地址。它经常会发生在有大活跃用户量,用户高聚集的业务场景中。高并发是互联网应用的一大特点,也是互联网应用不可避免的一个问题;比如 淘宝双11 购物狂欢节,京东 618 购物促销节,12306 春节火车票,促销,秒杀等。解决高并发问题是一个系统工程,需要站在全局高度统筹谋划,原创 2021-08-08 03:26:52 · 2382 阅读 · 1 评论 -
性能排查 | Java误调Shell命令引发的血案
背景前几天在UAT环境出现了一个问题,任务表大量待解压的任务,部分有I/O操作的服务越来越慢甚至处于停滞状态,导致大量数据延迟发送给下游而出发频繁预警。由于该平台是部门所有数据入口,因此会造成很多大量用户无法开展日常操作,需要紧急处理。经过查看监控,可以看到当天监控UAT两台机器memory、thread、network、cpu都比较正常,但是唯独load average从上礼拜某一天开始持续上升,并且UAT 两台机器的load average轨迹都是持续上升(我们服务器CPU是6核,服务正常的时候平均负原创 2021-06-14 09:31:24 · 351 阅读 · 2 评论 -
JVM性能分析 | 一次生产系统Full GC问题分析与排查总结
一次生产系统Full GC问题分析与排查总结背景最近某线上业务系统生产环境频频CPU使用率过低,频繁告警,通过重启可以缓解,但是过了一段时间又会继续预警,线上两个服务节点相继出现CPU资源紧张,导致服务器卡死不可用,通过告警信息可以看到以下问题: 从上图可以看到,目前zabbix监控展示CPU空闲时间已经低于预警线,证明目前CPU资源占用过高,考虑到最近并没有特别开发任务上线,但...原创 2018-09-07 23:03:07 · 5351 阅读 · 2 评论 -
linux实用指令 | 程序员线上排查必知必会linux指令(持续更新中)
Linux线上排查程序员实用指令一、乱码问题1、Linux系统编码 有时候你会发现linux系统打印出来的文字是乱码,一般是要么是你连接Linux的中断编码有问题,或者是linux系统编码设置不对(1)执行locale命令查看系统语言[root@localhost /]# localeLANG=zh_CN.GBKLC_CTYPE="zh_CN.GBK"LC_...原创 2018-07-06 11:04:52 · 530 阅读 · 0 评论 -
线上故障排查 | 烂代码引发的血案
烂代码引发的血案场景[我是居中的文本] 以下有一段烂代码来自真实项目场景,如下:public synchronized void savePhotos(String photoUrl,String userId){ final Photo photo = new Photo(); new Thread(new Runnable() { ...原创 2018-07-02 03:17:52 · 420 阅读 · 0 评论