【bug 回顾】上传图片超时

测试 bug 问题分析 - 上传图片超时

最近在测试上遇到一个莫名奇妙的问题,最后也没有得到具体是哪块的原因,看各位大佬有没有思路??

一 、背景

现在我们有三台服务器,用来布两套环境。其中另外一台服务器3配置的 tomcat ,用来做文件管理之类的。两套环境完全一样的代码和配置,环境1部在服务器1,环境2部在服务器2。

二、问题

上传照片大于4MB的图片时候服务器2会卡顿 tomcat 报超时,但是服务器1没有任何问题。

三、排查过程

1、排查服务器 cpu内存 问题

服务器 cpu 和 内存,发现没有异常,故排除

2、排查线程问题

在上传时候开了多线程,没有用线程池(老代码),arthas 和 dunp文件看线程没有任何问题

3、更改 tomcat 超时时间 20s -> 40s

因为主要报的是超时,所以更改了超时时间,但是是治标不治本的。

4、用别的服务器 ping 服务器 3, 均出现丢包问题 loss 在 5 左右

在这里大致就排除了代码的问题,为了验证这个问题,就用同样的代码在别的服务器运行,就没有发现有这个问题。因此在此时就锁定了是服务器本身的问题,但是具体是网络还是网卡还是其他的问题,还需要进行深度的排查。

5、排查服务器本身问题

在发现 ping 出 loss 的情况下,然后就在两个测试服务器调同一个接口,发现相应时间有很大的差别,一个是 100 ms 左右,但是有问题的都在 800 ms 上下。

因为我们用的是阿里云服务器,有可视化监控,可以看到网速能达到 10 M/S,可以看出网络的速度是没有问题的。

四、问题解决

最后尝试重启服务器,问题就解决了。。但是具体的问题我们现在推测是网卡的问题,但是无法的到验证了。

重启大法好!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/161206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM中判断对象是否需要回收的方法

在堆里面存放着Java 世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“ 存活 ” 着,哪些已经 “ 死去 ”。 引用计数算法 引用计数法是一种内存管理技术,它是通过对每个对象进行引用…

likeshop单商户商城系统 任意文件上传漏洞复现

0x01 产品简介 likeshop单商户标准商城系统适用于B2C、单商户、自营商城场景。完美契合私域流量变现闭环交易使用。 系统拥有丰富的营销玩法,强大的分销能力,支持电子面单和小程序直播等功能。无论运营还是二开都是性价比极高的100%开源商城系统。 0x02…

java--飞翔的小鸟

游戏玩法:通过鼠标点击使小鸟上下移动穿过柱子并完成得分,小鸟碰到柱子或掉落到地面上都会结束游戏。 游戏内图片 Brid类: package bird;import org.omg.CORBA.IMP_LIMIT;import javax.imageio.ImageIO; import java.awt.image.BufferedIma…

前置声明避免循环依赖

当你有两个类互相引用的情况时&#xff0c;使用前置声明可以帮助你避免循环依赖。以下是一个简单的例子&#xff0c;其中包含两个头文件、两个源文件以及一个 main 函数的示例 Toolnterface.h #pragma once#include <QString>// Forward declaration of QToolBase clas…

Eclipse常用设置-乱码

在用Eclipse进行Java代码开发时&#xff0c;经常会遇到一些问题&#xff0c;记录下来&#xff0c;方便查看。 一、properties文件乱码 常用的配置文件properties里中文的乱码&#xff0c;不利于识别。 处理流程&#xff1a;Window -> Preferences -> General -> Ja…

golang学习笔记——罗马数字转换器

文章目录 罗马数字转换器代码 参考LeetCode 罗马数字转整数代码 罗马数字转换器 编写一个程序来转换罗马数字&#xff08;例如将 MCLX 转换成 1,160&#xff09;。 使用映射加载要用于将字符串字符转换为数字的基本罗马数字。 例如&#xff0c;M 将是映射中的键&#xff0c;其值…

Qt+sqlite3使用事务提升插入效率

参考&#xff1a; 【精选】SQLite批量插入效率_sqlite 批量插入_PengX_Seek的博客-CSDN博客 (1)不使用事务时&#xff1a; clock_t t_start clock();QSqlQuery query(db);QString sql("insert into test(col1,col2) values(1,2);");for (int i 0; i < 1000; i…

c++学习之哈希

目录 1.关于unordered系列关联式容器 2.关于unordered_map 3.哈希&#xff08;散列&#xff09;表的实现 一&#xff0c;直接定址法 二&#xff0c;除留余数法 方法一&#xff1a;闭散列&#xff1a;开放定址法 方法二&#xff1a;闭散列&#xff1a;哈希桶/拉链法 4.哈希…

机器学习/sklearn 笔记:K-means,kmeans++

1 K-means介绍 1.0 方法介绍 KMeans算法通过尝试将样本分成n个方差相等的组来聚类&#xff0c;该算法要求指定群集的数量。它适用于大量样本&#xff0c;并已在许多不同领域的广泛应用领域中使用。KMeans算法将一组样本分成不相交的簇&#xff0c;每个簇由簇中样本的平均值描…

hadoop shell操作 hdfs处理文件命令 hdfs上传命令 hadoop fs -put命令hadoop fs相关命令 hadoop(十三)

hadoop fs -help rm 查看rm命令作用 hadoop fs 查看命令 1. 创建文件夹&#xff1a; # hdfs前缀也是可以的。更推荐hadoop hadoop fs -mkdir /sanguo 2.上传至hdfs命令&#xff1a; 作用&#xff1a; 从本地上传hdfs系统 &#xff08;本地文件被剪切走&#xff0c;不存在了&…

论防火墙的体系结构

防火墙的体系结构 防火墙的体系结构 双重宿主主机体系结构。屏蔽主机体系结构。屏蔽子网体系结构。 双重宿主主机体系结构 双重宿主主机体系结构是指以一台具有双重宿主的主机计算机作为防火墙系统的主体&#xff0c;执行分离外部网络与内部网络的任务。该计算机至少有两个…

【NGINX--4】大规模可扩展的内容缓存

1、缓存区 缓存内容并定义缓存的存储位置。 使用 proxy_cache_path 指令定义共享内存缓存区和内容的位置&#xff1a; proxy_cache_path /var/nginx/cachekeys_zoneCACHE:60m levels1:2inactive3h max_size20g; proxy_cache CACHE;上述缓存定义示例在文件系统 /var/nginx/ca…

为什么要用多线程?

提高响应速度&#xff1a;对于耗时操作&#xff0c;使用多线程可以使得应用程序更快地响应用户的请求&#xff0c;从而提高用户体验。实现并行计算&#xff1a;多线程可以同时执行多个任务&#xff0c;从而实现并行计算&#xff0c;提高程序的运行效率。提高CPU利用率&#xff…

html属性值可以不用引号吗,实例验证

html属性值可以不用引号 HTML元素的属性值可以不适用引号来包裹&#xff0c;浏览器一样可以将其进行渲染。不过&#xff0c;如果这样写HTML的代码的话&#xff0c;属性与属性值之间需要用空格来进行隔开&#xff0c;避免后面的属性变成前面属性的属性值。 提示&#xff1a;虽…

达梦列式存储和clickhouse基准测试

要验证达梦BigTable和ClickHouse的性能差异&#xff0c;您需要进行一系列基准测试。基准测试通常包括多个步骤&#xff0c;如准备测试环境、设计测试案例、执行测试、收集数据和分析结果。以下是您可以遵循的一般步骤&#xff1a; 准备测试环境&#xff1a; 确保两个数据库系统…

sql手工注入漏洞测试(MYSQL)-墨者-url信息

背景&#xff1a; 自己在墨者官网靶场练习的时候&#xff0c;一直出错&#xff0c;手工容易出错&#xff0c;所以列举一些信息供大家核对&#xff0c;可以参考改动。 数据库版本version() 5.7.22-0ubuntu0.16.04.1 当前数据库名称database&#xff08;) m…

模拟量采集----测量输入的电流

生活中的模拟量有很多 大多都为电压信号和电流信号 今天讲如何测量输入的电流信号 通过欧姆定律可知 电流测量的测量&#xff1a;是将电流加载在固定阻值的电阻上&#xff0c;来测量这个电阻二端的电压 最后反算出电流的大小 所用的公式是IU/R 我们使用仿真软件来看测量…

神经网络中间层特征图可视化(输入为音频)(二)

相比方法一个人感觉这种方法更好 import librosa import numpy as np import utils import torch import matplotlib.pyplot as pltclass Hook:def __init__(self):self.features Nonedef hook_fn(self, module, input, output):self.features output# 创建钩子的实例 hook …

EasyExcel listener无法通过Autowired注入xxMapper

easyexcel listener无法通过Autowired注入xxMapper 文章目录 easyexcel listener无法通过Autowired注入xxMapperbug记录&#xff1a;解决方案&#xff1a;easyexcel 使用例子controllerServiceImpllistener bug记录&#xff1a; productMapper注入一直为null,而procureDetailM…

Visual Studio(VS) C++程序LNK2005错误,提示“error LNK2005: _XXX已经在xxx.obj中定义”解决方案

1.问题如图 2.出现原因 项目中有多个源文件或头文件&#xff0c;include后导致有些变量重复定义&#xff0c;加上Visual Studio新版版要求更严格 3.解决办法 查询到的解决办法很多不好用&#xff0c;此处记录解决自己问题的一个办法&#xff1a;直接让编译器忽略第二次定义的…