接口性能优化日记

ops/2024/10/19 1:29:03/

背景

功能冒烟演示的时候,发现一个接口的返回时候有时会执行5秒才返回,被测试提了一个问题。这个接口是我负责,所以需要我去处理。

过程

一开始,我不知道如何入手,于是我在一些可能会导致耗时的代码前后加上了log日志,打印耗时(比如http调用,mysql操作)。
然后被pm说了,他说可以通过“听云”查看接口性能
我去,还有这么牛逼的系统吗!
登录"听云"后,我找到了我那个接口,可以看到io网络、code、sql、nosql的耗时,真的很牛逼。

回到正题,这个接口耗时5秒多,有5秒是耗费在了一个方法调用上(远程调用)。于是我就兴冲冲拍板,心想直接把这个调用改成异步不就得了!

我将这个远程调用方法改成了异步,然后提交代码。不久pm跟我说,你这样改,项目都被你改崩了。

我想:我去?异步还能崩?

pm:”这个远程调用,占了5秒,你整个接口耗时才5秒多,你即使把整个远程调用异步,你最多节省一百毫秒,这能解决问题吗?“

我想:”有道理啊,我这个蠢蛋!“

pm:”这个调用涉及到zookeeper单机,且服务器性能都很差,所以调用会很慢,你可以把它改成feign调用就好了!“

我想:”牛逼!“

总结

接口性能优化,我们本能会想到

  1. 现状:压测目前接口性能吞吐(知道性能到底多差)
  2. 定位:哪个步骤导致性能低
  3. 解决:针对问题进行解决
  4. 回归:重新压测,确认是否已经改好

其中解决的手段就是异步、缓存。
但我这次的问题就是异步、缓存都无法解决的,因为这个问题的耗时,占用整个接口耗时的99%。

有时候我们要多想!


http://www.ppmy.cn/ops/119939.html

相关文章

服务器被挂马,导致网站首页被更改怎么解决

当服务器被挂马并导致网站首页被篡改时,说明服务器或网站的安全性遭到破坏。为了修复并防止未来的攻击,你可以按照以下步骤进行操作: 1. 立即下线网站 目的:防止恶意软件进一步传播,保护用户数据和防止攻击者继续对网…

计算机毕业设计 在线问诊系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

IP和功能變數名稱的基礎知識-okeyproxy

什麼是IP地址? IP地址是分配給每一個連接到互聯網的設備的唯一識別字。IP地址就像是互聯網中的“門牌號”,它使得數據包能夠在網路中找到正確的目的地。 IP地址有兩種主要類型:IPv4和IPv6。 IPv4:IPv4地址由四個十進位數&#…

使用 Light Chaser 进行大屏数据可视化

引言 在当今数据驱动的世界中,数据可视化变得越来越重要。Light Chaser 是一款基于 React 技术栈的大屏数据可视化设计工具,通过简单的拖拽操作,你可以快速生成漂亮、美观的数据可视化大屏和看板。本文将介绍如何使用 Light Chaser 进行数据…

音视频入门基础:FLV专题(9)——Script Tag简介

一、SCRIPTDATA 根据《video_file_format_spec_v10_1.pdf》第75页到76页,如果某个Tag的Tag header中的TagType值为18,表示该Tag为Script Tag(脚本Tag,又称Data Tag、SCRIPTDATA tag)。这时如果Filter的值不为1表示未加…

使用CAPTCHA对反爬虫有优势吗

使用CAPTCHA对抗爬虫确实具有一些显著的优势,以下是主要优点和考虑因素: 优势 有效阻止自动化访问 人机验证:CAPTCHA设计用于区分人类用户与机器人,能够有效防止自动化爬虫访问网站内容。阻挡恶意行为:大多数爬虫无法…

TDSQL-C电商小助手,AI驱动的智能化数据洞察新纪元

前言: 在数字经济蓬勃发展的今天,电商行业作为数字化转型的先锋,正以前所未有的速度积累着海量数据。这些数据不仅是交易记录的简单堆砌,更是企业洞察市场趋势、优化运营策略、提升用户体验的宝贵财富。然而,如何从这…

Stream流的初步认识,Stream流的思想和获取Stream流

一.Stream流的作用 package com.njau.my_stream;import java.util.ArrayList;/*** 目标:认识Stream流* 案例:将以“张”开头的人名筛选出来到一个新的集合中去,再将其中三个字的名字的筛选出来到新集合中去*/ public class StreamDemo1 {pub…