《一》深入了解软件测试工具 JMeter-自我介绍
深入了解软件测试工具 JMeter
在当今的数字化时代,软件已经渗透到我们生活的方方面面,从日常使用的手机应用到复杂的企业级系统,软件的质量和性能直接影响着用户体验和业务的成功。而软件测试作为保障软件质量的关键环节,其中的性能测试更是不可或缺。Apache JMeter,这款强大的开源软件测试工具,在性能测试领域占据着重要的地位。
一、JMeter 是什么
JMeter 是由 Apache 软件基金会开发的一款基于 Java 的开源测试工具。它诞生的初衷主要是为了测试 Web 应用程序,但随着不断的发展和完善,如今它的应用范围已经远远超出了 Web 测试领域。简单来说,JMeter 就像是一个虚拟的 “压力制造机”,它可以模拟大量的用户同时对软件系统进行各种操作,以此来测试系统在不同负载情况下的性能表现。无论是网站、移动应用、数据库,还是其他各种类型的网络服务,JMeter 都能对其进行全面的性能测试。
二、JMeter 的功能特点
支持多种协议
JMeter 强大的功能之一在于它对多种协议的支持。它可以测试基于 HTTP、HTTPS 协议的 Web 应用,这对于大多数网站和 Web 服务来说至关重要。同时,它还能处理 FTP、SMTP、POP3 等常见的网络协议,以及 JDBC(用于数据库测试)、JMS(Java 消息服务)等企业级应用相关的协议。这意味着,无论你的软件系统采用何种通信协议,JMeter 都有很大的可能性胜任测试工作。
灵活的测试场景设置
在性能测试中,设置合适的测试场景是非常关键的。JMeter 提供了丰富的元件来帮助测试人员创建各种复杂的测试场景。例如,通过线程组,我们可以轻松定义模拟用户的数量、用户的启动方式(是同时启动还是逐步启动)以及用户操作的循环次数等。逻辑控制器则允许我们根据不同的条件和逻辑来组织测试步骤,比如可以设置循环执行某些操作,或者根据特定的条件来决定是否执行某个请求。这种灵活性使得 JMeter 能够模拟出非常真实的用户行为和业务场景。
强大的结果分析功能
测试完成后,对测试结果的分析同样重要。JMeter 提供了多种监听器,这些监听器就像是一个个 “数据分析师”,可以将测试过程中产生的大量数据以直观、易懂的方式呈现出来。比如,聚合报告可以展示每个请求的平均响应时间、最小响应时间、最大响应时间、吞吐量以及错误率等关键指标;图形结果监听器则以图表的形式展示响应时间随时间的变化趋势,让我们能够更直观地看到系统性能的波动情况。这些详细的结果分析有助于我们快速定位系统性能瓶颈,找出问题所在。
录制与回放功能
对于不太熟悉 JMeter 脚本编写的测试人员来说,录制与回放功能是一个非常实用的工具。通过 JMeter 的代理服务器,我们可以轻松地录制浏览器中的用户操作,然后将这些操作自动转换为 JMeter 的测试脚本。这样,我们就可以在录制的基础上对脚本进行进一步的优化和完善,大大提高了测试脚本的编写效率。
三、JMeter 的使用步骤
环境搭建
在使用 JMeter 之前,我们需要先搭建好运行环境。由于 JMeter 是基于 Java 开发的,所以首先需要安装 Java Development Kit(JDK)。安装 JDK 的过程相对简单,按照安装向导的提示进行操作即可。安装完成后,还需要配置系统的环境变量,将 JDK 的安装路径添加到 PATH 变量中,这样系统才能找到 Java 的执行文件。完成 JDK 的安装和配置后,我们就可以从 Apache JMeter 的官方网站下载最新版本的 JMeter 软件,下载完成后解压到指定的目录即可使用,无需额外的安装步骤。
测试计划创建
打开 JMeter 后,我们首先要创建一个测试计划。测试计划是整个测试的框架,它包含了所有的测试元件和配置。在测试计划中,我们首先要添加一个线程组。线程组就像是一群虚拟的用户,我们可以设置线程组中的线程数(即模拟用户的数量)、Ramp - Up Period(所有线程启动所需的时间)以及循环次数(每个用户执行操作的次数)。例如,如果我们要模拟 100 个用户同时访问一个网站,并且这些用户在 10 秒内逐步启动,每个用户重复访问 10 次,那么我们就可以在相应的参数中进行设置。
接下来,我们需要根据测试的目标添加相应的取样器。如果是测试 Web 应用,通常会添加 HTTP 请求取样器。在 HTTP 请求取样器中,我们需要填写目标服务器的地址、端口号、请求的路径以及请求方法(如 GET、POST 等)。同时,还可以根据实际需求设置请求头、请求参数等。
为了收集和分析测试结果,我们还需要添加监听器。常用的监听器有聚合报告、图形结果、用表格查看结果等。聚合报告可以提供简洁明了的性能数据汇总,图形结果则以直观的图表展示性能趋势,而用表格查看结果则可以详细查看每一个请求的具体信息。
测试执行与结果分析
当我们完成了测试计划的创建和配置后,就可以点击运行按钮开始测试了。在测试执行过程中,我们可以实时观察 JMeter 的运行状态,查看各个请求的响应时间、吞吐量等指标的变化情况。测试完成后,我们可以通过添加的监听器来分析测试结果。如果发现系统的响应时间过长、吞吐量过低或者出现了大量的错误,就需要进一步分析原因,可能是服务器的配置问题、代码的性能问题,也可能是测试场景设置不合理等。通过不断地调整和优化,最终达到提高系统性能的目的。
四、JMeter 的应用场景
Web 应用性能测试
这是 JMeter 最常见的应用场景。无论是电商网站、社交平台还是企业内部的 Web 系统,都可以使用 JMeter 来测试其在高并发情况下的性能表现。例如,在电商促销活动前,通过 JMeter 模拟大量用户同时访问商品页面、下单、支付等操作,提前发现系统可能存在的性能瓶颈,确保在活动期间系统能够稳定运行。
移动应用后端测试
随着移动应用的普及,对其后端服务的性能要求也越来越高。JMeter 可以模拟移动应用与后端服务器之间的通信,测试后端服务在处理大量移动设备请求时的性能。例如,测试移动应用的用户登录、数据同步等功能在高并发情况下的响应时间和吞吐量。
数据库性能测试
通过 JDBC 协议,JMeter 可以直接与数据库进行交互,测试数据库在不同负载下的性能。例如,测试数据库的查询、插入、更新等操作的响应时间,以及数据库的并发处理能力。这对于优化数据库设计和配置,提高数据库的性能非常有帮助。
接口测试
在微服务架构盛行的今天,各个服务之间通过接口进行通信。JMeter 可以用于测试接口的性能和稳定性,确保接口在高并发情况下能够正常工作,返回正确的结果。同时,通过设置断言,还可以验证接口返回的数据是否符合预期。
五、JMeter 的优势与局限
优势
- 开源免费:这使得任何个人和组织都可以自由地使用和定制 JMeter,无需支付昂贵的软件授权费用,大大降低了测试成本。
- 功能强大:支持多种协议和丰富的测试元件,能够满足各种复杂的测试需求。
- 社区活跃:有大量的 JMeter 用户和开发者在社区中分享经验、提供解决方案,当我们在使用过程中遇到问题时,可以很容易地在社区中找到答案。
- 扩展性好:可以通过插件的方式扩展其功能,满足不同场景下的特殊测试需求。
局限
- 学习曲线较陡:对于初学者来说,JMeter 的功能和元件较多,需要花费一定的时间和精力来学习和掌握。
- 脚本编写要求较高:虽然有录制功能,但对于复杂的测试场景,仍然需要手动编写和调整脚本,对测试人员的技术能力有一定要求。
- 图形化界面在高负载下性能受限:在进行大规模的性能测试时,JMeter 的图形化界面可能会因为资源消耗过大而出现卡顿现象,影响测试操作。
总的来说,Apache JMeter 是一款功能强大、应用广泛的软件测试工具,尽管它存在一些局限性,但凭借其开源免费、功能丰富等优势,仍然是广大测试人员进行性能测试的首选工具之一。随着技术的不断发展和社区的持续完善,相信 JMeter 在未来的软件测试领域将发挥更加重要的作用。无论是新手还是有经验的测试人员,都值得深入学习和掌握 JMeter,以提升软件测试的效率和质量,为打造高质量的软件产品贡献力量。
如果你对 JMeter 的应用场景、优势局限等内容有调整想法,或者希望我继续丰富某些部分,都可以随时告诉我。
相关文章:
《一》深入了解软件测试工具 JMeter-自我介绍
深入了解软件测试工具 JMeter 在当今的数字化时代,软件已经渗透到我们生活的方方面面,从日常使用的手机应用到复杂的企业级系统,软件的质量和性能直接影响着用户体验和业务的成功。而软件测试作为保障软件质量的关键环节,其中的性…...
(算法竞赛)图论+DFS深搜——图的dfs遍历1
题目描述 给定一个无向图,包含 n 个顶点(编号为 1 到 n)和 e 条边。要求从顶点 1 开始进行深度优先搜索(DFS),并按照访问顺序输出遍历结果。注意:当存在多个邻接点时,优先访问编号较…...
二级C语言题解:十进制转其他进制、非素数求和、重复数统计
目录 一、程序填空📝 --- 十进制转其他进制 题目📃 分析🧐 二、程序修改🛠️ --- 非素数求和 题目📃 分析🧐 三、程序设计💻 --- 重复数统计 题目📃 分析🧐 前言…...
快速搭建GPU环境 | docker、k8s中使用gpu
目录 一、裸机部署安装 GPU Driver安装 CUDA Toolkit测试 二、Docker 环境安装 nvidia-container-toolkit配置使用该 runtime 三、 k8s 环境安装 device-plugin安装 GPU 监控 一、裸机部署 裸机中要使用上 GPU 需要安装以下组件: GPU DriverCUDA Toolkit 二者的关…...
基于docker搭建Kafka集群,使用KRaft方式搭建,摒弃Zookeeper
KAFKA基于docker使用KRaft进行集群搭建 环境:已成功搭建kafka服务 可点击链接跳转至安装kafka-3.8.0版本 并启用SASL认证 教程 使用基于Zookeeper方式搭建集群教程 kafka-3.8.0版本 并启用SASL认证 教程 搭建kafka-ui可视化工具 192.168.2.91 192.168.2.92 192…...
分库分表详解
分库分表确实有垂直切分和水平切分两种,针对给出的描述,以下是对这两种切分方式的详细分析和验证: 垂直切分 描述:将表按照功能模块、关系密切程度划分出来,部署到不同的库上。 分析:垂直切分主要是根据…...
【重生之学习C语言----水仙花篇】
目录 编辑 ----------------------------------------begin-------------------------------------- 一、什么是水仙花数? 二、问题分析 确定数字的位数:计算输入数字的位数 n。 分离每一位数字:例如将 153 分离为 1、5、3。 计算各…...
云端IDE如何重定义开发体验
豆包 MarsCode 是一个集成了AI功能的编程助手和云端IDE,旨在提高开发效率和质量。它支持多种编程语言和IDE,提供智能代码补全、代码解释、单元测试生成和问题修复等功能,同时具备AI对话视图和开发工具。 豆包 MarsCode 豆包 MarsCode 编程助…...
模拟实现string类
目录 一.构造与析构函数 二.基础小功能的实现 1.clear 2.c_str 3外部对私有的查看 三.实现string的迭代器 四.string的增删查改 1.push_back尾插 1.1reserve扩容 1.2尾插 3.运算符重载 4.insert在任意位置插入 5.erase删除 5.1npos的处理 5.2函数的实现 6.find查…...
使用一个大语言模型对另一个大语言模型进行“调教”
使用一个大语言模型对另一个大语言模型进行“调教”(通常称为微调或适配),是一种常见的技术手段,用于让目标模型更好地适应特定的任务、领域或风格。以下是基于搜索结果整理的详细步骤和方法: 1.准备工作 安装必要的…...
十二、Docker Compose 部署 SpringCloudAlibaba 微服务
一、部署基础服务 0、项目部署结构 项目目录结构如下: /home/zhzl_hebei/ ├── docker-compose.yml └── geochance-auth/└── Dockerfile└── geochance-auth.jar └── geochance-system/└── Dockerfile└── geochance-system.jar └── geochance-gateway/…...
深入浅出:旋转变位编码(RoPE)在现代大语言模型中的应用
在现代大语言模型(LLMs)中,位置编码是一个至关重要的组件。无论是 Meta 的 LLaMA 还是 Google 的 PaLM,这些模型都依赖于位置编码来捕捉序列中元素的顺序信息。而旋转变位编码(RoPE) 作为一种创新的位置编码…...
C# 使用ADO.NET访问数据全解析
.NET学习资料 .NET学习资料 .NET学习资料 在 C# 的应用开发中,数据访问是极为关键的部分。ADO.NET作为.NET 框架下用于数据访问的核心技术,能够帮助开发者便捷地与各类数据源进行交互。本文将深入剖析ADO.NET,带你掌握使用 C# 通过ADO.NET访…...
趣解单词,实现快速记忆
英文单词 love,是“爱”的意思: love v./n.爱;喜欢;热爱;爱情;心爱的人 那什么是爱呢?love,首字母为l,是一根绳子,ve-通f,love通life࿰…...
TEMU电池法规:CE-battery法规指令主要检测以下这三样,汞、镉、铅
TEMU电池法规:CE-battery法规的指令主要检测以下这三样,汞、镉、铅有害物质: CE-Battery认证是依据欧盟新电池法规EU 2023/1542指令进行的电池安全检测报告。该认证针对所有类别的电池,包括内置或添加到产品中的电池,…...
vscode 如何通过Continue引入AI 助手deepseek
第一步: 在deepseek 官网上注册账号,得到APIKeys(deepseek官网地址) 创建属于自己的APIKey,然后复制这个key,(注意保存自己的key)! 第二步: 打开vscode,在插件市场安装Continue插件, 点击设置,添加deepseek模型,默认…...
【大数据技术】搭建完全分布式高可用大数据集群(Scala+Spark)
搭建完全分布式高可用大数据集群(Scala+Spark) scala-2.13.16.tgzspark-3.5.4-bin-without-hadoop.tgz注:请在阅读本篇文章前,将以上资源下载下来。 写在前面 本文主要介绍搭建完全分布式高可用集群Spark的详细步骤。 注意: 统一约定将软件安装包存放于虚拟机的/softwa…...
【翻译+论文阅读】DeepSeek-R1评测:粉碎GPT-4和Claude 3.5的开源AI革命
目录 一、DeepSeek-R1 势不可挡二、DeepSeek-R1 卓越之处三、DeepSeek-R1 创新设计四、DeepSeek-R1 进化之路1. 强化学习RL代替监督微调学习SFL2. Aha Moment “啊哈”时刻3. 蒸馏版本仅采用SFT4. 未来研究计划 部分内容有拓展,部分内容有删除,与原文会有…...
前缀和练习——洛谷P8218:求区间和
题目: 这道题很简单,直接根据题目无脑套公式 代码: #include<bits/stdc.h> using namespace std; const int N 1e5 9; using ll long long; ll a[N], perfix[N]; int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);//取消同步输…...
uv 安装包
是的,你可以使用 uv 来安装 Python 包。uv 是一个高性能的 Python 包安装器和解析器,由 astral.sh 团队开发,旨在替代 pip 和 pip-tools,提供更快的包安装体验。 ### 如何使用 uv 安装包 1. **安装 uv**: 如果你还…...
【机器学习】训练(Training)、验证(Validation)和测试(Testing)
机器学习中训练(Training)、验证(Validation)和测试(Testing)这三个阶段的作用和关系。 1. 训练阶段 (Training) - 使用训练集数据来训练模型 - 模型通过学习训练数据的特征和模式来调整其内部参数 - 这个阶段模型会不断优化以减少预测误差 - 通常使用最大的数据集比例&…...
3. k8s二进制集群之负载均衡器高可用部署
Haproxy 和 Keepalived安装Haproxy配置文件准备Keepalived配置及健康检查启动Haproxy & Keepalived服务继续上一篇文章《K8S集群架构及主机准备》,下面介绍负载均衡器搭建过程 Haproxy 和 Keepalived安装 在负载均衡器两个主机上安装即可 apt install haproxy keepalived…...
C++游戏开发实战:从引擎架构到物理碰撞
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 C 是游戏开发中最受欢迎的编程语言之一,因其高性能、低延迟和强大的底层控制能力,被广泛用于游戏…...
MSPFN 代码复现
1、环境配置 conda create -n MSPFN python3.9 conda activate MSPFN pip install opencv-python pip install tensorflow pip install tqdm pip install matplotlib2、train 2.1 创建数据集 2.1.1 数据集格式 |--rainysamples |--file1: |--file2:|--fi…...
[c语言日寄]浮点数在内存中的储存
【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋:这是一个专注于C语言刷题的专栏,精选题目,搭配详细题解、拓展算法。从基础语法到复杂算法,题目涉及的知识点全面覆盖,助力你系统提升。无论你是初学者,还是…...
PySpark学习笔记5-SparkSQL
sparkSql的数据抽象有两种。 一类是data set适用于java和Scala 一类是data frame适用于java,Scala,python 将r d d转换为data frame #方式一 df spark.createDataFrame(rdd,schema[name,age]) #方式二 schema Structtype(). add(id,integertype(),nu…...
支持 APQP (先期产品质量策划) 的软件系统-汽车电子行业专用研发管理信息化平台
支持 APQP (先期产品质量策划) 的软件系统 在制造业竞争白热化的当下,产品质量已然成为企业立足市场的核心竞争力。APQP(先期产品质量策划)作为保障产品质量的关键流程,贯穿于产品从概念萌生到最终交付的整个生命周期,…...
配置@别名路径,把@/ 解析为 src/
路径解析配置 webpack 安装 craco npm i -D craco/craco 项目根目录下创建文件 craco.config.js ,内容如下 const path require(path) module.exports {webpack: {// 配置别名alias: {// 约定: 使用 表示src文件所在路径: path.resolve(__dirname,src)…...
以为是响应式对象丢失导致数据没有回显
背景:之前ruoyi生成的vue2代码, <el-form ref“form”,后面我改成vue3的写法,没有实例化form, 在vue3中是需要定义const form ref(); 导致点击了修改后,页面弹框显示出来,数据没有回显。 一直…...
【汇编语言】直接定址表(二)—— 「代码‘导航员’:直接定址表的功能与应用」
文章目录 前言1. 直接定址表1.1 问题引入(一)—— 为算法清晰而查表1.2 分析与解决问题1.2.1 两个十六进制表示一个字节1.2.2 得到数值对应的数码字符1.2.2.1 最粗暴的方法——比较1.2.2.2 使用映射关系来解决1.2.2.3 存在的问题及解决 1.3 得到子程序1.…...
05vue3实战-----配置项目代码规范
05vue3实战-----配置项目代码规范 1.集成editorconfig配置2.使用prettier工具2.1安装prettier2.2配置.prettierrc文件:2.3创建.prettierignore忽略文件2.4VSCode需要安装prettier的插件2.5VSCod中的配置2.6测试prettier是否生效 3.使用ESLint检测3.1VSCode需要安装E…...
不含101的数
不含101的数 真题目录: 点击去查看 E 卷 200分题型 题目描述 小明在学习二进制时,发现了一类不含101的数: 将数字用二进制表示,不能出现 101 。 现在给定一个整数区间 [l,r] ,请问这个区间包含了多少个不含 101 的数ÿ…...
Linux/C高级(精讲)----shell结构语句、shell数组
shell脚本 功能性语句 test 可测试对象三种:字符串 整数 文件属性 每种测试对象都有若干测试操作符 1)字符串的测试: s1 s2 测试两个字符串的内容是否完全一样 s1 ! s2 测试两个字符串的内容是否有差异 -z s1 测试s1 字符串的长度是…...
基于微信小程序的消防隐患在线举报系统设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...
java基础2(黑马)
一、变量里的数据在计算机中的存储原理 1.二进制 .二进制:只有0、1, 按照逢二进一的方式表示数据。 十进制数字11转换为:1011 方法:除二取余法 计算机中表示数据的最小单元,一个字节(Byte,简…...
计算机中数值表示:原码、反码、补码与移码
1 前言 计算机科学中,数字的表示方式至关重要,因为计算机内部只能识别处理二进制数据。为了在计算机中实现对整数的表示,提出了多种数值编码方式,其中最常用的是原码、反码、补码和移码。 2 原码 2.1 原码的定义 原码(Signed …...
1.8 组合模式(Composite Pattern)
定义 组合模式(Composite Pattern) 是一种结构型设计模式,它将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式让客户端可以以相同的方式对待单个对象和对象集合。组合模式使得客户可以统一处理树形结构中的单个对象和对象的集合…...
QFileDialog::getOpenFileName(this,“文件对话框“,“.“,“c++ files(*.cpp);;“); 文件对话框显示乱码
在使用 QFileDialog::getOpenFileName 时,如果文件对话框显示乱码,通常是因为编码问题。Qt 默认使用 UTF-8 编码,但如果你的系统或源代码文件的编码不一致,可能会导致乱码。 以下是几种可能的解决方法: 1. 确保源代码…...
【C语言系列】深入理解指针(5)
深入理解指针(5) 一、sizeof和strlen的对比1.1sizeof1.2strlen1.3sizeof和strlen的对比 二、数组和指针笔试题解析2.1 一维数组2.2 字符数组2.2.1代码1:2.2.2代码2:2.2.3代码3:2.2.4代码4:2.2.5代码5&#…...
为什么使用nohup 和 启动的python脚本,日志没有在nohup.out中
当你使用 nohup 和 & 启动 Python 脚本时,输出通常会被重定向到 nohup.out 文件,但是有几个原因可能导致日志没有出现在这个文件中: Python 程序的输出被重定向了: 如果你的 Python 脚本中使用了 sys.stdout 或 sys.stderr 进…...
MySQL的存储引擎对比(InnoDB和MyISAM)
InnoDB 特点: 事务支持:InnoDB 是 MySQL 默认的事务型存储引擎,支持 ACID(原子性、一致性、隔离性、持久性)事务。行级锁定:支持行级锁,能够并发执行查询和更新操作,提升多用户环境…...
uniapp访问django目录中的图片和视频,2025[最新]中间件访问方式
新建中间件, middleware.py 匹配,以/cover_image/ 开头的图片 匹配以/episode_video/ 开头的视频 imageSrc: http://192.168.110.148:8000/cover_image/12345/1738760890657_mmexport1738154397386.jpg, videoSrc: http://192.168.110.148:8000/episode_video/12345/compres…...
Python递归复习题
寒假打卡第二十一天,当前mit6.100L进度(16/26) ,今天补一下递归复习题。 问题1:编写一个递归程序来计算正和n(n-2)(n-4)的整数(直到且不包括n-x<0) def sum_series(n…...
2025 年前端开发趋势展望,开启新征程
新年伊始,作为一名深耕 Web 前端开发领域的博主,我迫不及待地想和大家分享我对 2025 年前端开发趋势的洞察。过去一年里,前端领域的技术创新和变革令人目不暇接,而新的一年,更是充满无限可能。 框架与工具的持续演进 …...
90,【6】攻防世界 WEB Web_php_unserialize
进入靶场 进入靶场 <?php // 定义一个名为 Demo 的类 class Demo { // 定义一个私有属性 $file,默认值为 index.phpprivate $file index.php;// 构造函数,当创建类的实例时会自动调用// 接收一个参数 $file,用于初始化对象的 $file 属…...
Redis --- 使用GEO实现经纬度距离计算
什么是GEO? Spring Boot 项目中可以通过 Spring Data Redis 来使用 Redis GEO 功能,主要通过 RedisTemplate 和 GeoOperations 接口来操作地理位置数据。 Service public class GeoService {Autowiredprivate RedisTemplate<String, Object> red…...
同步 CDC
同步 CDC 当设计包括来自同一 MMCM/PLL 的时钟之间的同步 CDC 路径时,您可以使用以下技术来更好地控制时钟插入延迟和 时滞,并因此控制这些路径上的松弛。 重要提示: 如果 CDC 路径在源自不同 MMCM/PLL 的时钟之间,则跨越 …...
Linux环境下载Ollama慢或卡顿解决方案
一、下载方式 官方下载方式是到ollama官网下载ollama: https://ollama.com/ 复制下载链接执行: curl -fsSL https://ollama.com/install.sh | sh二、卡顿现象 执行后经常会出现下载失败或者进度条特别慢的情况,甚至直接退出下载: 三、…...
生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (下)
今天小李哥将开启全新的技术分享系列,为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来生成式 AI 安全市场正迅速发展。据IDC预测,到2025年全球 AI 安全解决方案市场规模将突破200亿美元,年复合增长率超过30%,而Gartn…...
2025年家用音响市场分析:潜力无限,音质为王的新纪元
引言:音质革命引领市场新风尚 在数字化浪潮的推动下,家用音响市场正经历一场前所未有的变革,其增长潜力犹如破晓之光,照亮了音频技术的未来之路。随着消费者对高品质生活追求的不断提升,以及对智能家居生态融合的日益…...