「测试线排查的一些经验-上篇」&& 后端工程师

文章目录

一般产品研发过程所使用的环境可分为:

  • 研发环境-dev
  • 测试环境-test
  • 生产环境-prod

软件开发中,完整测试环境包括:UT、IT、ST、UAT
UT = Unit Test 单元测试
IT = System Integration Test 集成测试
ST = System Test 系统测试
UAT = User Acceptance Test 用户接受测试(俗称:验收测试)

具体还要看公司业务情况,业务体态大的公司还会有新增的环境env。在研发环境-dev 中,也就是在程序员自己电脑上coding一下,用到的环境也就是我们说的本地环境,比如localhost。测试环境-dev 的话通常在测试线展开,公司会单独起一个干净的服务器环境,用于程序员在本地打包jar后发到测试环境测试使用,前后端联调的时候也会用这个环境。生产环境-prod也就是最接近真实的环境,通常就会面向用户或者客户的系统环境,在调试项目的时候,通常会在这个环境不断发版调试,让系统更完善,让系统朝着更能让用户、客户满意的方向进行修改。

端口占用

  • 一个jar包启动很容易失败,端口被占用是很常见的情况,有可能是当前这个启动的jar包直接占用了端口,有可能是这个服务内部服务占用了端口,这个时候就涉及到需要去查询端口占用情况,以最常见的80端口为例:

    shell 复制代码
    netstat -tunlp | grep 8080

    我们在查询以后可以得到一个结果:

    表明有一个java程序,进程号为15749,我们可以通过这个进程号杀掉当前java服务,方便我们启动当前的jar程序。

    杀掉它可以通过:

    shell 复制代码
    kill -9 15749

    这里的9参数表示:强制杀掉一些杀不死的进程。

    我们也可以查看所有端口的开放情况,看端口被你那些服务占用运行:

    shell 复制代码
    netstat -ntlp

    这两种方案都比较方便,看你适合哪种排查就用那种吧。

脚本失灵

  • 我们将项目放到服务器维护的时候通常会写很多脚本,比如sh,bat文件,这个看操作系统。例如服务器linux环境下,我们会写诸如start.sh、stop.sh等脚本文件,方便我们快速启动某个服务,当我们启动脚本发生一些错误的时候,我们可以手动执行脚本内部的命令看看能不能启动,如果能启动就可以判断脚本出了问题,如果不能启动,那就是命令的问题。

线上部署项目结构模版

  • 线上部署一个项目也是有一个规范的,大致可以这样去分:

当然了可以随机加减一些东西,至少基础文件还是要有这些。

配置文件生效

在启动一个jar包的时候最好指定一下配置文件,让他们一起启动,检查一下配置文件在线上是否能正常生效:

注意:

在这里极容易犯得一个错误就是jar包没有放在config文件外面,这样进行编译的话就会报错,配置文件就不会生效!

其实写到这里还没写完。。。比如要学会保存项目启动日志,通过日志排查问题等等,我打算把这些放到下期文章来说。

相关推荐
第九序言T22 分钟前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路29 分钟前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_4260039633 分钟前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_1 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
龙亘川2 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人2 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
quantdash_cc2 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl2 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
Raas1002 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
云和数据.ChenGuang3 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain