自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(513)
  • 资源 (8)
  • 收藏
  • 关注

原创 【性能调优】一次监控数据错误的性能调优经历

在对自建存储服务的回调接口进行调优时,QPS始终卡在1万瓶颈。经过源码分析(包含1次Redis查询、2次DB操作、5次本地缓存读取和1次外部调用)和多轮压测(节点数与QPS呈线性增长至5节点后停滞),最终发现数据库实际CPU使用率被监控误导(显示仅50%但实际已达瓶颈)。通过火焰图和链路分析确认DB操作为主要耗时点,调整数据库配置后问题解决。案例揭示了监控数据准确性对性能分析的关键作用。

2021-05-24 00:09:16 3906 4

原创 【Redis】技术评审要点

针对redis在技术方案评审或测试方案设计时的一些注意要点一、大key1.1 定义单个简单的key存储的value很大hash、set、list中存储过多的元素1.2 场景热门话题下评论、答案排序场景大V的粉丝列表使用不恰当,或者对业务预估不准确、不及时进行处理垃圾数据等1.3 风险:单个size太大,并发高容易把redis带宽打满读写大key会导致超时严重,甚至阻塞服务如果删除大key或者自动过期,DEL命令可能阻塞Redis进程数十秒,使得其他请求阻塞redis是

2021-05-23 01:38:16 2939

原创 【网络协议】mysql协议数据包分析

使用tcpdump抓取应用层mysql协议的数据包,然后使用wireshark工具对mysql协议数据包进行分析一、tcpdump数据包可以通过端口规则或mysql规则抓取对应的mysql数据包,接下来通过端口规则限定抓取mysql的数据包1.1 查看mysql的端口jdbc:mysql://swqa.lluozh.com:3487/lluozh?characterEncoding=UTF-8即显然当前数据库的端口为34871.2 tcpdump数据包根据端口信息抓取对应的数据包tcpdu

2021-05-22 01:48:11 5586 6

原创 【网络协议】tcpdump抓包

一、简介tcpdump根据使用者的定义对网络上的数据包进行截获的包分析工具,用简单的话来定义:dump the traffic on a networktcpdump可以将网络中传送的数据包的"头"完全截获下来提供分析支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句去掉无用的信息tcpdump基于底层libpcap库开发,运行需要root权限二、抓包原理Linux抓包是通过注册一种虚拟的底层网络协议来完成对网络报文(准确的说是网络设备)消息的处理权当网卡

2021-05-17 08:48:42 4156 4

原创 【性能调优】单接口性能调优预备阶段

性能测试优化需要从业务代码到中间件的系统性分析。首先应深入了解业务逻辑、代码实现,提前预估风险点,重点关注重复SQL查询、索引优化和设计缺陷。中间件方面需优化Redis缓存命中率、避免大Key问题,精简外部接口调用。MySQL连接数遵循"够用即可"原则。压测时通过倍增并发线程观察CPU消耗变化,并监控磁盘日志写入性能。整个优化过程要循序渐进,逐步定位当前性能瓶颈点进行针对性优化。

2021-05-06 20:09:51 2896

原创 【Furion性能平台】JMeter+Influxdb+Grafana压测监控

JMeter+InfluxDB+Grafana打造压测实时可视化监控方案该方案通过JMeter的Backend Listener实时发送压测数据到时序数据库InfluxDB,再利用Grafana进行可视化展示。InfluxDB作为时序数据库,能够高效存储带时间标签的压测指标数据。Grafana提供丰富的仪表盘功能,可实时监控QPS、响应时间等关键指标。

2021-03-09 08:31:54 3411

原创 【性能方案】理发店模型

本文通过理发店模型形象地解释了系统性能测试的关键概念。模型以3位理发师服务顾客的场景,展示了不同并发情况下的系统表现:当顾客数≤理发师数时效率最高(最佳并发用户数);当顾客数增加时,等待时间延长(最大并发用户数);当顾客数过多时,部分顾客因超时离开(系统崩溃区)。文章进一步将理发店场景与性能指标(吞吐量、响应时间、资源利用率)对应,并讨论了缓存、业务分工、服务器扩展等优化策略。该模型生动地说明了系统负载与用户体验之间的平衡关系,为性能测试提供了直观的理论框架。

2021-02-23 08:35:28 2010 1

原创 【Furion性能平台】平台架构演进

Furion性能测试平台经历了从单机到分布式再到容器化的架构演进。初期单机模式简便但压力有限,分布式模式解决了并发问题但部署复杂。通过节点容器化实现了统一部署和文件管理,但报告聚合速度成为瓶颈。引入Kafka和Elasticsearch优化数据流后,仍面临海量数据聚合的挑战。平台最终采用渐进式聚合策略,以支撑20万QPS的压测需求。这一系列架构演进体现了性能测试平台在提升并发能力和优化数据处理方面的持续创新

2021-02-04 08:27:49 6877 4

原创 【用例设计】接口用例设计

在接口测试过程中,用例设计是关键中的关键,需要重点关注的一些维度接口测试什么是接口接口就是内部模块对模块,外部系统对其他服务提供的一种可调用或者连接的能力的标准,所谓的接口是模块与模块之间的一种连接接口测试上图为一个典型的接口,一个接口通常是有输入输出的,输入就是我们常见的入参,输出有时有,有时没有。调用相关接口,接口会执行相关处理逻辑接口测试的用例设计,主要从输入和接口处理两方面考虑:针对输入,可按照参数类型进行设计针对接口处理,可按照逻辑进行用例设计针对输出,可根据结果进行分析设计

2021-01-10 23:28:59 5080 6

原创 【调优案例】调优问题总结

性能优化需要系统化分析和持续迭代,主要围绕数据库、Redis、JVM、日志和应用层展开。数据库优化包括索引、SQL查询优化和分库分表;Redis需关注缓存穿透和连接池配置;JVM调优涉及GC和内存参数调整;日志应异步化减少锁争抢;应用层需优化线程池、缓存复用和服务依赖。定位问题可借助jstack、arthas、火焰图等工具,通过多维度监控实现精准调优。

2020-11-13 21:03:42 3374

原创 【性能方案】并发抢答场景

本文探讨了使用JMeter模拟抢答场景的性能测试方案。通过将教师和学生角色放在同一线程组,利用计数器控制线程执行顺序,并用__threadNum指定教师线程。为解决变量共享问题,采用__setProperty方法传递抢答ID;通过同步定时器实现集合点功能,确保学生同时抢答。最后使用循环计数器确保所有学生完成抢答后教师才关闭抢答。该方案较好地模拟了真实抢答场景的并发流程,解决了角色同步、变量共享和时序控制等关键问题。

2020-11-12 09:20:38 2252

原创 【mysql调优】数据库连接池配置优化

数据库连接池通过预先创建和管理数据库连接,优化服务性能。其核心原理是维护连接的复用机制,动态调整连接数,避免频繁创建/销毁连接的开销。配置需考虑并发量、DB规模等因素,关键参数包括最小/最大连接数、超时时间、心跳检测间隔等。建议关闭不必要的检测以减少负载,合理设置空闲时间(如90秒),优先使用ping命令检测。连接池优化可显著减少获取连接耗时,提升整体响应速度。

2020-03-27 23:02:23 7725

原创 【调优工具】线程快照分析

在性能调优时DruidDataSource.getConnection()卡顿,通过jstack获取线程快照分析。主要方法包括:1)文本查看全局锁状态和等待线程数;2)使用JCA工具分析线程状态,重点关注waiting on monitor、waiting on condition和Object.wait()三种状态;3)通过锁地址定位持有锁的线程及其执行的事务。分析发现11个线程等待同一把锁,锁持有线程在执行数据库查询后加密操作。线程快照分析不仅可定位问题,还能判断系统负载,但需结合不同类型线程的状态特征

2020-03-27 13:46:43 5520 2

原创 【LLM】Transformer原理剖析

本文系统介绍了从RNN到Transformer的演进过程。首先分析了RNN及其变体LSTM/GRU在处理序列数据时的局限,特别是顺序计算的瓶颈和长距离依赖问题。随后重点阐述了Transformer的核心创新:自注意力机制和多头注意力机制。自注意力通过Q、K、V三向量实现词语间的动态关联计算,多头注意力则提供了多视角理解词关系的可能。文章详细解析了缩放点积注意力的计算过程和张量形状变化,揭示了Transformer相比RNN在并行计算和语义捕捉方面的优势。这一架构革新为自然语言处理带来了质的飞跃。

2025-12-11 11:51:08 560

原创 【驱动AI提示词】提示词设计模式

本文探讨提示词设计中的角色扮演模式及其应用。角色扮演模式通过赋予AI特定身份,使其输出内容符合该角色的专业特征和表达风格,从而提升交互情境的契合度和专业性。文章详细介绍了角色定义、常见角色分类(行业型和场景型),并提供了设计角色提示词的方法,包括明确需求、设定特质语言风格等。通过市场分析师、心理咨询师等案例展示了不同场景下的提示词示例,并提出了平衡核心属性与灵活性、迭代优化等注意事项。该模式在客户服务、教育等领域具有广泛应用价值。

2025-12-09 09:13:00 562

原创 【驱动AI提示词】提示词基础及技巧

摘要:有效的AI提示词由指令、上下文、输入数据和输出指示四大要素构成。指令需明确具体任务,上下文提供背景信息,输入数据给予事实依据,输出指示规范内容格式。提示词编写应遵循明确性、简洁性、针对性、适应性和一致性五大原则,避免模糊表达和冗余信息。通过对比示例可见,结构完整的提示词能显著提升AI输出的质量。实际应用中需持续迭代优化提示词,利用反馈循环逐步完善内容,同时注意规避常见错误如模糊性和信息缺失,以确保生成内容符合预期目标。

2025-11-28 08:59:29 572

原创 【驱动AI提示词】认识提示词

摘要 提示词工程作为人机交互的新范式,正在重塑AI应用方式。文章系统阐述了提示词工程的核心概念、与传统编程的区别及其广泛应用。提示词分为系统提示词(设定AI行为框架)和普通提示词(开放式激发创意/封闭式获取精确信息),其优化需应对输出不确定性、偏见等挑战。未来趋势包括多模态交互、自动化生成及标准化/个性化发展。提示词工程通过降低技术门槛,使AI从工具升级为智能协作伙伴,在内容创作、商业分析、教育等领域展现出革新价值。合理选择与组合提示词类型是提升AI交互效果的关键。

2025-11-24 21:13:26 99

原创 【驱动AI提示词】AI模型工作原理

生成式AI模型的强大功能源于其底层Transformer架构和复杂的训练过程。该架构通过自注意力机制和位置编码解决了传统序列模型的局限,成为自然语言处理的标准。训练过程依赖海量数据和计算资源,通过自回归语言建模、损失函数优化和超参数调优实现高质量输出。推理过程中,提示词设计对生成内容质量起决定性作用,需要明确指令、充分上下文和格式控制。然而,生成式AI仍存在对提示词依赖、缺乏深层理解、偏见问题、长文本处理局限、创造力不足和实时信息滞后等固有局限性。这些因素共同影响着生成式AI的实际应用效果。

2025-11-21 23:46:24 289

原创 【LLM】Prompt Engineering调优指北

摘要 Prompt工程是一种优化大模型输出的关键技术,通过设计高效的提示词引导模型生成预期结果。其核心原则包括明确性、结构化、上下文丰富、复杂度平衡和示例驱动。常见问题如输出不稳定和理解偏差可通过增加约束、结构化标签和重复强调解决。优化技巧包括步骤说明、规则拆分、冗余信息、分隔符使用、样例提供和思维链推理。效果评估需关注准确性、相关性、完整性和一致性,采用A/B测试等方法迭代优化。实践示例展示了客服、代码审查等场景中Prompt设计的改进效果,强调角色定义、审查维度和输出格式等关键要素。

2025-11-21 23:34:53 164

原创 【RAG知识库实践】重排Rerank

RAG系统中重排序(Rerank)技术的核心价值在于提升检索精度和生成质量。作为检索和生成间的关键环节,Rerank通过深度语义理解对召回结果进行二次排序,解决向量检索的精度不足问题。相比传统排序方法,Rerank具备更强的语义理解能力和上下文感知能力,支持场景定制优化。其技术原理基于排序学习理论,采用Cross-Encoder等模型进行相关性评分,通过损失函数优化实现精确排序。Rerank在计算复杂度与排序精度间取得平衡,显著提升RAG系统在复杂语义场景下的表现,是现代RAG架构不可或缺的组件

2025-09-03 21:20:39 748

原创 【RAG知识库实践】检索Retrieval

RAG检索技术通过结合传统检索与大语言模型生成能力,解决了传统检索在语义理解和知识时效性上的局限。其核心采用向量检索和混合检索策略,利用Query Embedding和MIPS算法实现语义相似性搜索,并通过稠密与稀疏检索的优势互补提升效果。关键优化包括RRF融合算法、LLZRAG分层架构和VectorDB混合检索方案,在保持高性能的同时增强了语义理解、精确匹配和专业领域适应性,为AI系统提供了更准确、实时的知识支持

2025-08-29 10:08:32 540

原创 【RAG知识库实践】查询重写Rewrite

RAG系统中的查询重写技术旨在弥合用户查询与文档间的语义鸿沟,通过改写策略(如语义扩展、意图澄清)和文档优化(如关键信息抽取、多模态融合)实现语义对齐。该技术分为PRF(基于首次检索结果优化)和GRF(利用LLM先验知识扩展)两类,各具优势:PRF适合专业领域精准检索,GRF适用于开放域快速响应。HyDE算法通过生成假设文档优化查询向量,显著提升检索准确性。智能策略选择器可根据查询特征动态选用最佳方法,平衡性能与效果

2025-08-28 18:01:52 760

原创 【RAG知识库实践】向量数据库VectorDB

向量数据库是一种专为存储和查询高维向量数据优化的系统,支持高效相似度搜索和语义理解。其核心流程包括建立索引(如HNSW算法)、查询检索(计算向量相似度)和结果过滤(结合元数据)。与传统数据库相比,向量数据库擅长处理高维向量数据,支持语义搜索和多模态应用(如文本、图像、音频等)。 在检索增强生成(RAG)架构中,向量数据库扩展了大模型的时间边界(存储最新信息)、解决隐私问题(本地部署敏感数据)并实现多模态搜索

2025-08-27 21:17:07 846

原创 【RAG知识库实践】向量化Embedding Model

稠密稀疏混合向量技术结合了传统关键词检索与语义向量检索的优势,实现精度提升10%的效果。该技术演进分为三个阶段:1)传统倒排索引依赖TF-IDF/BM25算法实现关键词精确匹配;2)稠密向量检索通过Embedding实现语义理解但丢失关键词精度;3)混合检索将两种方法统一于HNSW索引架构。关键技术突破包括:采用index-value格式存储稀疏向量、分层检索优化(初期仅稠密向量计算)、相似度线性加权算法。该技术特别适用于包含专业术语、表格数据等场景,日常文本场景则建议使用纯稠密检索

2025-07-11 09:59:35 445

原创 【RAG知识库实践】分块Chunking

本文探讨了文档分块在检索增强生成(RAG)系统中的关键作用及优化策略。分块的目标在于平衡语义完整性与检索精度,研究显示最佳分块尺寸(100-1500字符)对系统性能影响显著。文章详细介绍了定制化分块方法,包括结构化处理、动态调整和噪声过滤,并提出了邻近分块召回策略。同时分析了分块尺寸对嵌入效果的影响,建议根据内容特性、模型限制和应用场景选择合适策略。最后对比了固定大小、语义分块等不同方法的优缺点,强调需结合具体需求选择最适配的分块方案。实践表明,合理分块能有效提升检索相关性和生成质量。

2025-07-09 14:50:16 699

原创 【RAG知识库实践】数据源Data Source

本文介绍了高性能RAG系统的数据处理全流程。首先通过多种解析器将各类文档转换为标准化Markdown格式,支持PRD、SDD等文档类型及多模态数据处理。数据清洗阶段采用智能降噪和预处理策略,提升知识质量。数据标签环节为知识片段附加元数据,包括业务线、文档类型等,以增强检索精度。系统还建立了更新机制确保知识库时效性,并指出盲目增加数据量可能导致检索退化,强调数据质量和管理策略的重要性。整体呈现了一个从数据源到知识库的完整处理方案。

2025-07-08 21:32:14 219

原创 【大模型RAG实战】RAG系统构建与微调实战

RAG系统的核心部分包括两大部分:召回模块和生成模块。召回模块的性能决定了整个系统的覆盖率,因为如果无法召回包含答案片段的文本,则生成模块将无法完成任务。然而,随着技术的飞速发展,生成模块的任务已不仅仅是汇总召回模块的结果,一些由生成模块主导的RAG系统正逐渐取代传统的召回主导型RAG系统。在本章中,将介绍如何构建适用于RAG场景的向量模型、大模型的指令微调实战,以及如何构建由大模型决策的RAG系统以解决复杂的用户问题。

2025-04-03 09:04:11 898

原创 【大模型RAG实战】基于LangChain实现RAG应用

大模型应用开发框架LangChain被开发者广泛应用。接下来介绍LangChain中与RAG相关的组件,并利用LangChain构建一个可视化的大模型RAG应用,用于回答指定PDF中的相关问题。

2025-03-27 09:26:33 1627

原创 【大模型RAG实战】RAG系统训练

对于一个完整的RAG系统而言,不能像开源博客、框架一样使用独立的召回模块和生成模块。因为召回模块与生成模块相互解耦,这意味着召回模块的召回信息并不能保证生成模块一定能有效地生成正确答案,同时生成模块的训练也没有学习到如何有效地利用召回模块的召回信息。因此,在实际的工业落地时,会考虑更好的训练方法来同时完成召回模块和生成模块的训练。本章将梳理RAG系统训练方法,以及各个训练方法的优缺点,最后完成RAG系统的联合训练实战。

2025-03-21 09:36:01 706

原创 【大模型RAG实战】RAG范式演变

介绍RAG的范式演变,涵盖基础RAG系统、先进RAG系统、大模型主导的RAG系统以及多模态RAG系统等。

2025-03-18 09:50:26 1086

原创 【大模型RAG实战】核心技术与优化

在一个完整的大型RAG流程中,除了需要使用文本召回模型,还涉及提示词的设计、文本切块、向量数据库的选择、召回环节的优化、RAG效果的评估以及LLM能力优化等环节

2025-03-12 10:02:46 986

原创 【向量数据库】向量库

向量数据库具备高效检索、扩展性强、实时性强等优势,与大模型相结合,为大模型的应用扩展了广度和深度。

2025-01-07 12:01:51 1331

原创 【向量数据库】向量存储内存

对于海量的向量数据,除了搜索速度以外,内存的开销也是一个巨大的挑战。举个例子,假如向量的维度是128,每个维度的数值是一个32位的浮点型数,那么一个向量占用内存的大小就是:512字节如果库中一共有1千万个向量,那么总共占用的内存:大约4.77GB实际上在真实应用场景中,上千的向量维度和上亿的向量数量都不并稀奇,因此内存开销的问题大约的确是严重的。每个向量都对应着一个切实有用的记录,所以不太可能通过纵向的删除某些向量来节省内存,那唯一的选择只能是想办法横向的把每个向量本身的大小给降下来。

2025-01-06 12:18:53 1955

原创 【向量数据库】搜索算法

最近几年,一种叫做向量数据库的产品,正趁着AI的热潮开始崭露头角。伴随着AI时代的到来,向量将成为一种重要的数据形式,而传统数据库并不适合用来存储和检索向量数据,因此我们大约需要一种专门设计的数据库来处理这些问题。和存储数据表,然后用查询语句进行精准搜索的传统数据库不同,向量数据库存储的是向量数据,而查询过程则是从库中搜索出和查询向量最为相似的一些向量,具有一定的模糊性。

2025-01-06 12:05:49 1938

原创 【向量数据库】向量定义

这里有一些狗,熟悉犬类的朋友应该能很快区分出它们的品种,之所以能做到这一点,是因为我们会从不同的角度来观察它们的特征。比如体型的大小,如果我们使用一个坐标轴来表示这个特征,这些狗将落在不同的坐标点上然而,单纯依靠体型这一个特征还不够,比如金毛和拉布拉多的体型就非常接近所以需要继续观察其他特征,比如毛发的长短,我们再建立一个(毛长的)坐标轴,这样就区分开了金毛和拉布拉多,现在每只狗对应一个二维的坐标点。

2025-01-04 02:49:14 1252

原创 【大模型RAG实战】文本召回模型

文本召回模型是大模型RAG的核心。本章首先介绍文本文本召回模型相关的基础知识,包括如何计算文本相似度和获取句子向量表示等。然后介绍一些经典模型,包括稠密向量检索和稀疏向量检索模型。重排序模型会在本章最后进行介绍,它进一步提高文本召回效果。

2025-01-03 09:39:50 1830

原创 【大模型RAG实战】语言模型基础

语言模型赋予了计算机理解和生成人类语言的能力。它结合了统计学原理和深度神经网络技术,通过对大量的样本数据进行复杂的概率分布分析来学习语言结构的内在模式和相关性。具体地,语言模型可根据上下文中已出现的词序列,使用概率推断来预测接下来可能出现的词汇。接下来主要介绍一些基础的语言模型,如Transformer、自动编码器、自回归模型等。

2024-12-24 09:26:40 2170

原创 【大模型RAG实战】RAG与大模型应用

一种能够生成各类内容的技术,包括文本、图像、音频和合成数据。自2022年底ChatGPT在全球范围内推广以来,基于Transformer解码器结构的大模型已能在短时间内为用户生成高质量的文本、表格、代码,使整个AI领域迈入了新的时代。大语言模型(Large Language Model,LLM)经过海量文本数据的训练后,能将这些文本数据以一种黑盒形式压缩在模型参数中。预训练完成后,模型便掌握了大量的人类知识世界。

2024-12-16 21:29:53 2175

原创 【Java】Java8中的Stream

一、Stream的理解Stream是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等在Java8中Stream API作为数据渠道,用于操作数组或者集合等数据源。流本身是不存储数据的,只是移动数据,在移动过程中可能会对数据进行过滤,排序或者其它操作,但是,大多数情况下,流操作本身不会修改数据源,比如,对流排序不会修改数据源的顺序。它只是会创建一个新的流,其中包含

2022-05-12 08:26:16 1350

原创 【测试之道】测试发展之路

一、测试团队面临的困局随着互联网的发展,持续集成及DevOps等软件工程方法的提出和普及,软件测试技术也发生了很大的变化。自动化测试、敏捷测试和测试左移等方法论被广泛应用于实践,研发团队对测试技术和测试团队有更高的期待。与此同时,测试团队也面临着不少的困难,其中具有普遍性的有:测试自动化难自动化测试程序编写成本高、执行成本高、维护成本高。测试的技术债在业务高速发展的过程中越积越多:一边修复老的用例,另一边出现新的失败用例一边补充自动化,另一边又因为项目的时间压力遗留了未自动化的用例一些可

2022-05-12 00:38:28 9571

android-sdk-29.0.2

android-sdk-29.0.2

2020-11-12

django_demo.zip

django demo项目

2022-01-11

jmeter.backendlistener.kafka-1.0.4.jar

jmeter-backend-listener-kafka

2021-02-06

jca465.jar

线程快照分析工具

2020-03-27

JD-GUI.app.zip

Mac平台上的一款帮助用户进行java反编译的工具

2021-08-07

furion_grafana_v1.0.json

influxdb_grafana_v1.0

2021-03-10

furion_grafana_v2.1.json

influxdb_grafana_v2.1

2021-03-10

evermeet.cx.ffmpeg

evermeet.cx.ffmpeg

2021-06-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除