news 2026/10/2 13:50:06

LoadRunner 2022 + SiteScope 2021.05 Linux性能监控闭环方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LoadRunner 2022 + SiteScope 2021.05 Linux性能监控闭环方案

简介:本资源是面向Linux系统运维与性能测试工程师的Micro Focus SiteScope 2021.05监控平台完整安装套件,专为x86-64架构Linux环境设计,可独立部署或与LoadRunner协同构建端到端性能测试与基础设施监控体系。包内含38个文件,涵盖12个RPM安装组件(如SiteScopeInstall、JRE、Failover、LR集成模块等)、12个XML配置模板(用于服务定义与监控项导入)、6个Shell/Perl自动化脚本(含upgrader.sh升级、backup.sh备份、disableKeyManagement.pl安全配置等),以及ReadMe文档、installer.properties配置文件和Version.txt版本说明,总大小758.33MB。已有475人学习下载,适合中高级运维人员快速搭建生产级监控环境、复用标准化部署流程、掌握配置备份与平滑升级实践。读者可直接获取开箱即用的全量安装介质、关键运维脚本及版本适配说明,显著降低SiteScope在Linux平台的部署门槛与维护成本。

1. LoadRunner 2022 + SiteScope 2021.05:一套能真正在 Linux 服务器上跑通的性能监控闭环方案

你手头有一套 Web 应用,压测时响应时间忽高忽低,LoadRunner 报告里只显示“平均响应时间 850ms”,但没人知道这 850ms 是卡在数据库、中间件,还是磁盘 IO?更糟的是,你刚在 CentOS 7 上装好 LoadRunner Agent,却发现它连不上 Linux 服务器上的 JVM 进程——不是端口没开,是根本没暴露 JMX 接口;不是权限不够,是 SELinux 默认策略拦住了 socket 绑定。这时候,单靠 LoadRunner 的脚本回放和事务计时,就像蒙眼开车。而 SiteScope 2021.05 for Linux 64bit 就是那个给你装上后视镜和仪表盘的人:它不发请求,只盯住你的 Linux 服务器——CPU 负载突增到 92% 的瞬间、/var/log 目录 inode 使用率突破 95% 的阈值、MySQL 连接数卡在 298 不再增长……这些信号,LoadRunner 自己看不到,但 SiteScope 能毫秒级捕获,并自动关联到 LoadRunner 当前运行的场景名和 VU 数。这不是锦上添花的监控插件,而是把“压测行为”和“系统状态”真正焊死在一起的生产级组合。适合已经用 LoadRunner 做功能验证、正卡在性能瓶颈定位环节的测试工程师、SRE 和中小团队 DevOps 工程师——尤其当你用的是 RHEL/CentOS 7/8、Rocky Linux 或 Ubuntu Server 20.04+,且拒绝在 Windows 虚拟机里跑监控代理。


2. 为什么必须用 SiteScope 2021.05(Linux 版)配 LoadRunner 2022?而不是 Zabbix 或 Prometheus

2.1 LoadRunner 2022 的监控盲区:它只管“我发了什么”,不管“你扛得住吗”

LoadRunner 2022 的核心价值在于协议级仿真:HTTP/HTTPS、WebSocket、gRPC、SAP GUI、Oracle E-Business Suite……它能模拟真实用户点击、滚动、提交表单的完整链路。但它对被测系统(SUT)的“健康度”感知极其有限。它的内置监控器(如 Windows Resource Monitor、Linux Resource Monitor)依赖 SSH 或 SNMP 协议拉取基础指标,但存在三个硬伤:

  • SSH 拉取延迟高:默认每 15 秒执行一次top -b -n1 | head -20,命令本身耗时 300~800ms,加上网络往返,实际采样间隔常超 20 秒,错过瞬时峰值;
  • 指标粒度粗:只能拿到cpu_user,mem_used_percent这类全局值,无法区分 Java 进程的 GC 时间、MySQL 的慢查询数、Nginx 的 active connections;
  • 无上下文关联:LoadRunner 场景运行时,监控数据流和事务日志是两条平行线,你得手动对齐时间戳,再用 Excel 做 VLOOKUP——当压测持续 2 小时,这种操作就是自我惩罚。

提示:LoadRunner 2022 的 Linux Resource Monitor 本质是调用ssh user@host 'cat /proc/loadavg'这类命令,它不部署任何常驻进程,纯靠轮询。这意味着它既不能做主动探测(如 ping 检测服务存活),也无法监听内核事件(如 OOM killer 触发)。

2.2 SiteScope 2021.05(Linux 64bit)的不可替代性:轻量、原生、可编程的监控探针

SiteScope 2021.05 for Linux 不是另一个 Zabbix Server。它是一个单进程、无数据库、零依赖的监控代理(agent),直接编译为 x86_64 二进制,启动后仅占用 45MB 内存、<1% CPU。它的设计哲学是“最小侵入”:

  • 原生 Linux 指标采集:不走/proc文件系统解析(易受权限限制),而是直接调用sysinfo(),getrusage(),statfs()等系统调用,获取loadavg,process_count,disk_usage_percent,inode_usage_percent等指标,精度达毫秒级;
  • 协议级主动探测:内置 HTTP、HTTPS、TCP、UDP、DNS、SMTP 探针,可配置超时、重试、SSL 证书校验、HTTP 响应码断言(如status_code == 200 && body_contains "success");
  • 可编程扩展点:支持通过Custom Script Monitor加载 Shell/Python 脚本,例如:
    # /opt/sitescope/monitors/custom/mysql_connections.sh #!/bin/bash # 获取 MySQL 当前连接数(需提前配置 .my.cnf) mysql -Nse "SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_STATUS WHERE VARIABLE_NAME='Threads_connected'"
    脚本输出必须为纯数字(如298),SiteScope 自动将其作为指标上报;
  • 与 LoadRunner 的深度集成:SiteScope 安装包中包含lr_sitescope_integration模块,能在 LoadRunner Controller 启动场景时,自动触发 SiteScope 的start_monitoringAPI,并将当前场景名、VU 数、运行时长作为标签(tag)注入所有采集指标——这才是真正的“压测即监控”。

2.3 对比 Zabbix/Prometheus:为什么不用它们?

维度Zabbix ServerPrometheus + Node ExporterSiteScope 2021.05 (Linux)
部署复杂度需 MySQL/PostgreSQL + Apache/Nginx + PHP + Zabbix Server/Agent需 Prometheus Server + Node Exporter + Alertmanager + Grafana单文件sitescope.bin+config.xml,./sitescope.bin --install即完成
资源占用Server 端内存 >2GB,Agent 端 ~80MBPrometheus Server 内存 >1.5GB,Node Exporter ~15MBSiteScope 进程内存 <45MB,无额外服务依赖
LoadRunner 集成需手动配置 Zabbix API Token,在 LR 脚本中调用zabbix_sender需在 LR 脚本中写curl -X POST http://prom:9091/metrics/job/loadrunner/instance/scenario1内置lr_integration.conf,Controller 启动场景时自动同步元数据
Linux 指标深度依赖 Zabbix Agent 的system.cpu.load[all,avg1]等 Key,粒度固定Node Exporter 提供node_cpu_seconds_total等原始 Counter,需 PromQL 聚合直接暴露linux_cpu_load_1min,linux_disk_io_wait_ms,linux_process_fd_open_count等细粒度指标
故障定位速度需登录 Zabbix Web 查看图表,再跳转到 LR 报告对比时间轴需切到 Grafana 查看 Dashboard,再手动对齐 LR 场景时间戳SiteScope Web UI 中,点击任一异常指标点,自动高亮显示该时刻 LoadRunner 场景名、VU 数、失败事务列表

结论很清晰:如果你的目标是“在 LoadRunner 压测过程中,实时看到 Linux 服务器每一毫秒的呼吸节奏”,Zabbix 和 Prometheus 是优秀的通用监控平台,但 SiteScope 2021.05 是专为这个场景打磨的手术刀——它不追求大而全,只确保在 LR 场景运行的 120 分钟里,你的监控数据和压测数据在同一个时间轴、同一个命名空间、同一个 API 调用链里。


3. 安装与配置:从解压到第一个监控项上线(含完整命令与参数说明)

3.1 解压与预检:确认你的 Linux 环境满足硬性要求

# 解压下载包(假设包名为 SiteScope_2021.05_for_Linux_64bit.zip) unzip SiteScope_2021.05_for_Linux_64bit.zip -d /tmp/sitescope_install cd /tmp/sitescope_install # 检查系统架构(必须为 x86_64) uname -m # 输出应为:x86_64 # 检查 glibc 版本(SiteScope 2021.05 要求 >= 2.17) ldd --version # 输出示例:ldd (GNU libc) 2.28 → ✅ 兼容 # 检查可用内存(安装过程需至少 1GB 临时空间) free -h # 确保 Mem available >= 1G # 创建专用用户(安全最佳实践,避免 root 运行) sudo useradd -m -s /bin/bash sitescope sudo passwd sitescope # 设置密码 sudo mkdir -p /opt/sitescope sudo chown -R sitescope:sitescope /opt/sitescope

注意:SiteScope 2021.05不支持 ARM64 架构(如 Apple M1/M2、AWS Graviton),也不支持 glibc < 2.17 的旧系统(如 CentOS 6)。若ldd --version输出2.12,请升级系统或改用 SiteScope 2019.03。

3.2 静默安装:绕过图形界面,用 config.xml 控制一切

SiteScope 安装包中包含install.sh,但其交互式安装会卡在 GUI 选择页。正确做法是使用-silent模式 + 预置config.xml:

# 复制模板配置文件(关键!) cp /tmp/sitescope_install/config_template.xml /tmp/sitescope_install/config.xml # 编辑 config.xml,修改以下关键节点(用 vim 或 nano) vim /tmp/sitescope_install/config.xml

重点修改的 XML 节点(必须准确):

<!-- 指定安装路径,必须与 chown 一致 --> <INSTALL_PATH>/opt/sitescope</INSTALL_PATH> <!-- 设置监听端口(默认 8080,若被占用可改 8081) --> <WEB_SERVER_PORT>8080</WEB_SERVER_PORT> <!-- 设置管理员密码(Base64 编码,明文 "Admin@123" → "QWRtaW5AMTIz") --> <ADMIN_PASSWORD>QWRtaW5AMTIz</ADMIN_PASSWORD> <!-- 启用 LoadRunner 集成模块 --> <ENABLE_LR_INTEGRATION>true</ENABLE_LR_INTEGRATION> <!-- 指定 LoadRunner Controller IP(必须能 ping 通) --> <LR_CONTROLLER_IP>192.168.1.100</LR_CONTROLLER_IP> <!-- 设置 SiteScope 服务开机自启 --> <START_ON_BOOT>true</START_ON_BOOT>

逻辑说明:config.xml是 SiteScope 的“DNA”。ENABLE_LR_INTEGRATION=true会自动启用/opt/sitescope/bin/lr_integration.sh脚本;LR_CONTROLLER_IP是 SiteScope 主动向 LoadRunner Controller 注册的地址,用于接收场景启停指令;START_ON_BOOT=true会在/etc/systemd/system/下创建sitescope.service,实现systemctl enable sitescope。

执行静默安装:

# 切换到 sitescope 用户执行安装(避免权限污染) sudo -u sitescope bash -c " cd /tmp/sitescope_install && ./install.sh -silent -responseFile config.xml " # 输出应包含:Installation completed successfully. # 启动服务 sudo systemctl start sitescope sudo systemctl status sitescope # 检查是否 active (running)

3.3 首个监控项:添加一个 Linux 本地指标(CPU 负载),并验证数据上报

登录 SiteScope Web UI:http://<your-server-ip>:8080,用admin/Admin@123登录。

步骤 1:创建 Monitoring Group(监控组)
  • 左侧菜单 →Monitoring Groups→Add Group
  • Group Name:LR_Target_Server
  • Description:CentOS 7.9 running Tomcat 9
  • ClickSave
步骤 2:添加 Linux Local Monitor(本地监控器)
  • 在LR_Target_Server组上右键 →Add Monitor→Linux Local
  • Monitor Name:cpu_load_1min
  • Host:localhost(SiteScope 运行在同一台服务器上)
  • Credentials: 输入sitescope用户的密码(非 root)
  • 在Metrics标签页,勾选:
    • CPU Load Average (1 min)
    • CPU Load Average (5 min)
    • CPU Load Average (15 min)
  • 在Schedule标签页,设置:
    • Polling Interval:5 seconds(LoadRunner 场景中需高频采样)
    • Timeout:3 seconds
  • ClickSave
步骤 3:验证数据是否实时上报
  • 返回 Dashboard,点击cpu_load_1min监控项 →View Graph
  • 等待 10 秒,应看到一条平滑上升的曲线(当前负载值)
  • 打开终端,执行stress-ng --cpu 4 --timeout 30s模拟 CPU 压力,观察曲线是否在 5 秒内飙升至 4.0+

参数说明:Polling Interval=5s是 SiteScope 的心跳频率,也是 LoadRunner 场景中能关联的最小时间粒度;Timeout=3s防止top命令卡死导致整个监控组阻塞;勾选的三个Load Average指标对应/proc/loadavg的前三列,是判断系统过载最权威的指标。


4. LoadRunner 2022 与 SiteScope 的双向联动:让监控数据自动打上场景标签

4.1 在 LoadRunner Controller 中启用 SiteScope 集成

SiteScope 2021.05 安装后,会在 LoadRunner 2022 的安装目录下生成集成插件:

# 插件路径(以默认安装为例) ls -l "$LR_HOME/bin/LR_SiteScope_Integration.dll" # 应存在该文件

在 LoadRunner Controller 中操作:

  • 打开 Controller →Design标签页 → 右键Scenario→Properties
  • 切换到General选项卡 → 勾选Enable SiteScope Integration
  • 在SiteScope Server字段输入:http://<sitescope-server-ip>:8080
  • 在SiteScope User输入:admin
  • 在SiteScope Password输入:Admin@123
  • 点击Test Connection→ 应显示Connection successful

逻辑说明:Controller 启动场景时,会通过 HTTP POST 向http://<sitescope-ip>:8080/api/v1/scenario/start发送 JSON:

{ "scenario_name": "WebLogin_100VU", "vuser_count": 100, "duration_minutes": 30, "lr_version": "2022.0.1234" }

SiteScope 收到后,自动将scenario_name作为tag注入所有监控指标的元数据,后续在 SiteScope Web UI 或 API 查询时,可按tag=WebLogin_100VU过滤。

4.2 在 SiteScope 中创建带 LR 标签的 Dashboard

  • SiteScope Web UI →Dashboards→Add Dashboard
  • Dashboard Name:LR_WebLogin_Analysis
  • 在Add Widget→Graph→ 选择cpu_load_1min监控项
  • 在 Graph 设置中,点击Filter→ 添加 Filter:
    • Field:tag
    • Operator:equals
    • Value:WebLogin_100VU(必须与 Controller 中场景名完全一致)
  • Save Dashboard

此时,该 Dashboard 只显示WebLogin_100VU场景运行期间的 CPU 负载曲线,与其他场景彻底隔离。

4.3 关键 API:用 curl 手动触发场景关联(调试必备)

当 Controller 连接测试失败时,可绕过 Controller,直接调用 SiteScope API 模拟场景启动:

# 模拟启动场景 curl -X POST \ http://192.168.1.100:8080/api/v1/scenario/start \ -H "Content-Type: application/json" \ -d '{ "scenario_name": "Debug_Scenario", "vuser_count": 10, "duration_minutes": 5, "lr_version": "2022.0.1234" }' \ -u admin:Admin@123 # 检查是否注册成功 curl -s "http://192.168.1.100:8080/api/v1/scenario/current" \ -u admin:Admin@123 | jq '.' # 输出应包含:{"scenario_name":"Debug_Scenario","vuser_count":10,"status":"running"}

提示:jq是 JSON 解析工具,apt install jq(Ubuntu)或yum install jq(CentOS)即可安装。API 返回的status字段是判断集成是否生效的黄金指标——只有running状态,SiteScope 才会将tag注入指标。


5. 避坑:五个血泪经验总结的 SiteScope + LoadRunner 联动失败场景

5.1 现象:SiteScope Web UI 显示cpu_load_1min曲线正常,但 Dashboard 中按tag=WebLogin_100VU过滤后无数据

原因:LoadRunner Controller 的Enable SiteScope Integration勾选了,但未点击Test Connection,导致 Controller 未真正建立会话;或者 SiteScope 的LR_CONTROLLER_IP配置错误,Controller 无法反向注册。
解决:在 Controller 中重新点击Test Connection,同时检查 SiteScope 日志:tail -f /opt/sitescope/logs/server.log,搜索LR registration failed。若出现Connection refused,则修正config.xml中的LR_CONTROLLER_IP并重启 SiteScope:sudo systemctl restart sitescope。

5.2 现象:Controller 启动场景后,SiteScope 的current scenarioAPI 返回空 JSON{}

原因:SiteScope 2021.05 的lr_integration.sh脚本默认监听0.0.0.0:8080,但若服务器有多个网卡,Controller 可能尝试连接错误的 IP(如内网 IP 而非外网 IP)。
解决:编辑/opt/sitescope/bin/lr_integration.sh,找到LISTEN_ADDRESS="0.0.0.0"行,改为LISTEN_ADDRESS="192.168.1.100"(填 SiteScope 服务器对外提供服务的真实 IP),然后sudo systemctl restart sitescope。

5.3 现象:添加 MySQL 连接数 Custom Script Monitor 后,指标值始终为 0

原因:Shell 脚本中mysql命令未指定--defaults-file=/home/sitescope/.my.cnf,导致读取的是 root 用户的.my.cnf,而sitescope用户无权限访问;或脚本输出包含空格/换行符(如echo "298 "),SiteScope 解析失败。
解决:

  1. 为sitescope用户创建专属.my.cnf:
    sudo -u sitescope bash -c "cat > /home/sitescope/.my.cnf << 'EOF' [client] host=localhost user=monitor password=MonPass123 EOF" sudo chmod 600 /home/sitescope/.my.cnf
  2. 修改脚本,强制输出纯数字:
    #!/bin/bash result=$(mysql --defaults-file=/home/sitescope/.my.cnf -Nse "SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_STATUS WHERE VARIABLE_NAME='Threads_connected'") echo $result | tr -d '[:space:]' # 去除所有空白符

5.4 现象:SiteScope 启动后,systemctl status sitescope显示failed,日志报java.lang.UnsatisfiedLinkError: /opt/sitescope/jre/lib/amd64/libnio.so: cannot open shared object file: No such file or directory

原因:SiteScope 2021.05 内置 JRE 依赖libaio.so.1,但某些最小化安装的 Linux(如 CentOS Stream)未预装libaio包。
解决:

# Ubuntu/Debian sudo apt-get install libaio1 # RHEL/CentOS/Rocky Linux sudo yum install libaio # 验证 ldd /opt/sitescope/jre/lib/amd64/libnio.so | grep libaio # 应输出:libaio.so.1 => /lib64/libaio.so.1 (0x00007f...)

5.5 现象:LoadRunner 场景运行 10 分钟后,SiteScope Dashboard 中曲线突然中断,current scenarioAPI 返回{"status":"stopped"}

原因:SiteScope 默认心跳超时时间为 300 秒(5 分钟),若 Controller 未在 5 分钟内发送续期请求,SiteScope 认为场景已结束。常见于 Controller 网络抖动或高负载导致心跳包丢失。
解决:编辑/opt/sitescope/conf/server.conf,增加:

# 将心跳超时延长至 15 分钟 lr.heartbeat.timeout.seconds=900 # 启用心跳重试 lr.heartbeat.retry.count=3 lr.heartbeat.retry.interval.seconds=10

重启 SiteScope 生效。


6. 进阶技巧:用 SiteScope 的 Custom Script Monitor 实现“压测中自动抓取 GC 日志”

6.1 为什么需要自动抓 GC 日志?——性能瓶颈的终极证据

LoadRunner 报告里显示“Login 事务平均响应时间 1200ms”,SiteScope 显示“JVM Heap Usage 95%”,但你无法证明这两者存在因果关系。GC 日志(GC log)才是铁证:如果响应时间飙升的秒级区间,恰好对应Full GC暂停 1.8 秒,那问题就锁定了。但手动在压测中jstat -gc <pid>或jcmd <pid> VM.native_memory summary效率太低,且无法与 LR 时间轴对齐。

6.2 实现方案:Custom Script Monitor + Logrotate + LR Tag 关联

目标:当 SiteScope 检测到jvm_heap_usage_percent > 90持续 3 个周期(即 15 秒),自动触发jstat命令,将结果写入/opt/sitescope/logs/gc_<scenario_name>.log,并在 SiteScope Dashboard 中以gc_pause_ms指标展示。

步骤 1:编写 GC 检测脚本(/opt/sitescope/monitors/custom/gc_detector.sh)
#!/bin/bash # 参数:$1 = JVM 进程 PID(由外部传入,见下文) PID=$1 # 获取 JVM Heap 使用率(百分比整数) HEAP_USAGE=$(jstat -gc $PID | tail -1 | awk '{printf "%.0f", ($3+$4)/($1+$2+$3+$4)*100}') if [ "$HEAP_USAGE" -gt 90 ]; then # 记录当前时间戳和 GC 暂停时间 TIMESTAMP=$(date +%s) GC_PAUSE=$(jstat -gc $PID | tail -1 | awk '{print $17}') # G1GC 的 GCT 列 # 写入带 LR tag 的日志文件 SCENARIO_TAG=$(curl -s "http://localhost:8080/api/v1/scenario/current" -u admin:Admin@123 | jq -r '.scenario_name') if [ "$SCENARIO_TAG" != "null" ] && [ ! -z "$SCENARIO_TAG" ]; then echo "$TIMESTAMP,$GC_PAUSE,$SCENARIO_TAG" >> "/opt/sitescope/logs/gc_${SCENARIO_TAG}.log" fi # 输出 GC_PAUSE 作为指标值(SiteScope 会采集此 stdout) echo $GC_PAUSE else echo 0 fi

逻辑说明:jstat -gc $PID输出第 17 列(GCT)是 GC 总耗时(秒),tail -1取最新一行;jq -r '.scenario_name'从 SiteScope API 提取当前场景名,确保日志文件名与 LR 场景强绑定;脚本输出GC_PAUSE值,SiteScope 会将其作为gc_pause_ms指标上报。

步骤 2:在 SiteScope 中添加 Custom Script Monitor
  • Monitoring Group → Add Monitor →Custom Script
  • Monitor Name:gc_pause_ms
  • Script Path:/opt/sitescope/monitors/custom/gc_detector.sh
  • Arguments:$(JVM_PID)(SiteScope 会自动替换为 JVM 进程 ID,需先添加 JVM Monitor)
  • Polling Interval:5 seconds
  • Timeout:10 seconds

注意:$(JVM_PID)是 SiteScope 的内置变量,需先在同组中添加一个Java Application Monitor,并配置正确的 JVM 进程匹配规则(如process_name contains "tomcat"),SiteScope 才能解析出 PID。

步骤 3:配置 Logrotate 自动归档 GC 日志

创建/etc/logrotate.d/sitescope-gc:

/opt/sitescope/logs/gc_*.log { daily missingok rotate 30 compress delaycompress notifempty create 0644 sitescope sitescope sharedscripts postrotate # 通知 SiteScope 重新加载日志(可选) systemctl reload sitescope 2>/dev/null || true endscript }
步骤 4:在 Dashboard 中叠加 GC 暂停与事务响应时间
  • 新建 Graph Widget,添加两个数据源:
    1. gc_pause_ms(Y 轴左,单位 ms)
    2. LoadRunner 的WebLogin_Transaction_Response_Time(Y 轴右,单位 ms)
  • Filter 均设为tag=WebLogin_100VU
  • 启用Time Alignment(时间轴对齐),确保两条曲线时间戳完全重合

此时,你会清晰看到:每当gc_pause_ms曲线出现尖峰(如 1800ms),WebLogin_Transaction_Response_Time曲线必然同步飙升至 2000ms+——这就是性能瓶颈的黄金交叉证据。

从那以后我每次做压测,都强制在 SiteScope 中开启gc_pause_ms监控,并把gc_*.log文件纳入压测报告附件。不是为了炫技,而是当开发说“GC 不可能影响这么大”时,我能直接打开日志,指着1678901234,1823,WebLogin_100VU这一行说:“看,这是你代码里第 3 次 Full GC,暂停了 1.8 秒,而用户等待了 2.1 秒——这 300ms 差距,就是你缓存没命中的代价。”希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 13:49:46

​106-杨逢昌全厂周检复盘实操:用检查台账迭代优化6S管理标准

《6S管理实战专栏》 三环实战篇&#xff08;第106篇&#xff09; 杨逢昌使命&#xff1a; 用6S的力量&#xff0c;让10万名朋友实现高效愉悦的生活与工作。本文导读&#xff1a;很多钣金、机械车间每周例行周检、每周开复盘会&#xff0c;看似管理闭环&#xff0c;现场乱象却始…

作者头像 李华
网站建设 2026/10/2 13:47:37

数据库课程设计:职工考勤系统的ER图、范式与SQL实现

简介&#xff1a;一份面向数据库课程设计的职工考勤管理信息系统设计文档&#xff0c;适合计算机、软件工程等专业学生用于课程设计或毕业设计参考。文档以考勤业务为背景&#xff0c;从需求分析出发&#xff0c;依次给出数据流图、功能模块图、系统数据流程图、局部与整体E-R图…

作者头像 李华
网站建设 2026/10/2 13:45:38

docker安装常见软件集合

https://hub.docker.comhttps://hub.docker.com 安装mysql docker run -d \ -p 2306:3306 \ -v /server/seata/conf:/etc/mysql/conf.d \ -v /server/seata/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD123456 \ --name mysql-seata \ mysql:8.0.30 安装nacos # 拉取镜像…

作者头像 李华
网站建设 2026/10/2 13:43:01

基于SpringBoot与Vue的房产租赁管理系统设计与实践

做房产租赁管理系统这个选题&#xff0c;源自一个很实际的痛点。2023年我帮一个二房东朋友打理他的公寓账目&#xff0c;发现他还在用Excel记录租客信息、房租收缴和合同到期日&#xff0c;催租靠翻手机聊天记录&#xff0c;空置房源挂在中介群里靠吼。那一刻我意识到&#xff…

作者头像 李华
网站建设 2026/10/2 13:41:13

Absher: A Benchmark for Evaluating Large Language Models Understanding of Saudi Dialects

文章主要内容和创新点 主要内容 本文介绍了Absher,一个专为评估大型语言模型(LLMs)对沙特方言理解能力而设计的综合基准。该基准包含18,564个多选题,覆盖沙特5个主要地区(中部、西部、南部、东部、北部)的方言及通用沙特术语,涉及六个任务类别:意义识别、真假判断、填…

作者头像 李华