---
title: 兼容性测试
description: "- 关闭防火墙（临时）"
url: https://www.hikunpeng.com/document/detail/zh/techcert/certtest/testexct/kunpengcomtestool_06_0003.html
sourcePath: /source/zh/techcert/certtest/testexct/kunpengcomtestool_06_0003.html
indexId: 20730f844e54ecd074d37aba13e797854e90df6bbda670c1ea02c7b0d10ff5cf68
---
# 兼容性测试

#### 前提条件

- 关闭防火墙（临时）

```
systemctl stop firewalld.service
```


- 停止业务软件（即环境空载）
  为避免后台存在其他进程正在运行影响后续测试结果的可靠性。正式测试之前，停止所有伙伴业务应用软件进程（无需卸载），例如使系统资源占用恢复至业务软件未安装时的基准状态，从而方便监控测试过程中CPU、内存、硬盘、网卡等系统资源。


#### 操作步骤

1. 修改工具的配置文件，详情请参见工具配置文件修改。
2. 远程登录服务器，切换root用户，启动兼容性测试工具，多节点集群部署情况下，在控制节点（主节点）执行脚本。

  - 用户操作：

```
sh compatibility_testing.sh
```


  - 脚本输出：
    脚本输出用户说明和执行时长。

工具执行时长说明，应用软件启动前服务器资源采集10分钟，压力测试期间服务器资源采集20分钟，应用停止后服务器资源采集10分钟。

- CentOS/中标麒麟/SUSE/openEuler/银河麒麟V10系统。
  用法：

```
sh
compatibility_testing.sh
```


- Ubuntu/银河麒麟 4.0.2 /UOS系统。
  用法：

```
bash
compatibility_testing.sh
```


3. 测试环境确认。
请勿在生产环境执行兼容性测试工具。


  - 脚本输出：
  - 用户操作：如果当前环境是生产环境，请退出工具执行并在测试环境执行。
  - 用户输入：确认不是生产环境请回复“N”。
4. 检测配置文件。
检查配置文件compatibility_testing.conf的配置项是否填写。如果配置项没有填写，表示需要手动启动应用软件、手动停止应用软件和手动启动测试工具。

  - 脚本输出：
  - 用户操作：无。
  - 用户输入：无。
5. 检测依赖软件。
检查用户的环境是否安装漏洞扫描等软件和命令，如果没有安装，从用户配置的远程源或者本地源安装相应的软件，用户确保软件源配置正确。

  - 脚本输出：
  - 用户操作：无。
  - 用户输入：无。
6. 测试环境自检。
检查当前系统的CPU、内存、硬盘和网络是否空闲（例如CPU占用率<1%，避免后台存在其他进程正在运行影响后续测试结果的可靠性），若检测失败则提示用户停止业务应用以及依赖软件，停止软件后再重新执行工具。

  - 脚本输出：
  - 用户操作：
脚本提示当前环境非空闲，可以通过以下步骤进行排查。

    a. 查看工具日志，查看详细信息。工具日志目录在“当前目录/log/info.log_yyyymmdd”。
    b. 提示CPU、内存利用率超过阈值，则使用top命令查看当前系统环境的CPU利用率、内存利用率较高的应用进程，停止资源占用较高的进程。
    c. 提示硬盘带宽和网络连接数大于阈值，使用iostat -d -x检查硬盘带宽，使用netstat -n |awk '/^tcp/{++S[$NF]} END{for (a in S)print a,"\t",S[a]}'查看网络连接数，并检查和停止占用资源的应用。
    d. 如果top命令检查到ksoftirqd进程占用CPU资源100%，则需要更新服务器网卡驱动，详情请参见      如何升级网卡驱动
。
  - 用户输入：
    如果检查到当前系统环境非空闲，用户停止业务应用后，确认回复“Y”或者“y”。

7. 软件启动前采集系统资源。
业务应用软件启动前，采集CPU、内存、硬盘、网络和功耗指标。

  - 脚本输出：
  - 用户操作：无。
  - 用户输入：无。
8. 启动应用软件。
调用用户填写的应用软件启动命令启动应用。启动失败或者没有填写命令则需要手动启动软件，用户手动启动完成后需要回复“Y”。

  - 脚本输出：
  - 用户操作：配置文件没有填写应用启动命令或者脚本，或者启动失败后，用户需要手动启动应用软件。
  - 用户输入：配置文件没有填写应用启动命令或者脚本，或者启动失败后，用户手动启动应用软件后，需要回复“Y”确定启动应用软件。
9. 安全测试。
确定应用启动完成后，调用nmap命令对所有端口进行扫描。

  - 脚本输出：
  - 用户操作：无。
  - 用户输入：无。
10. 压力测试。
调用用户填写的命令启动压力测试工具，并进行压力测试采集，采集CPU、内存、硬盘、网络指标。

  - 脚本输出：
  - 用户操作：配置文件没有填写压力测试工具启动命令、或者启动失败后，用户需要手动启动压力测试工具。

  - 用户输入：配置文件没有配置压力测试工具启动命令或者脚本，或者启动失败，用户手动启动压力测试工具后，回复“Y”确认启动压力测试工具。
11. 异常测试（可靠性测试）。
强制停止应用软件进程，然后启动应用软件进程。目的是为了检查应用软件在异常停止后能正常启动和稳定运行。

  - 脚本输出：
  - 用户操作：压力测试工具是手动启动或者压力测试停止失败情况下，需要用户停止压力测试工具。
  - 用户输入：压力测试工具是手动启动或者压力测试停止失败情况下，用户停止压力测试工具后，回复任意键继续下一步。
12. 采集系统资源（软件停止后）。
停止应用软件，并进行应用软件停止后采集，采集CPU、内存、硬盘、网络和功耗等指标。

  - 脚本输出：
  - 用户操作：无。

  - 用户输入：无。
13. 日志输出。
对测试工具的结果检查，并将采集结果打包。

  - 脚本输出：
  - 用户操作：无。

  - 用户输入：无。
