你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
注释
Azure AI 搜索可通过Azure门户、REST API 和Azure SDK获取。 它也是 Foundry IQ 的基础;Foundry IQ 是一个托管式知识层,可将企业内容转化为供 Microsoft Foundry 门户中的智能体使用的、可复用且具备权限感知能力的知识库。
本文介绍如何使用内置的度量标准和诊断日志记录来度量查询性能和查询量。 它还介绍如何获取应用程序用户输入的查询字符串。
Azure门户显示有关查询延迟、查询负载(QPS)和限制的基本指标。 ** 可以在 Azure 门户中访问这些指标的历史数据,时间期限为 30 天。 若要延长保留期,或报告操作数据和查询字符串,必须 启用诊断日志记录 并选择用于保存记录的操作和指标的存储选项。 建议Log Analytics工作区作为记录操作的目标。 Kusto 查询和数据浏览面向 Log Analytics 工作区。
最大化数据度量完整性的条件包括:
使用计费服务(在基本层或标准层创建的服务)。 免费服务由多个订阅者共享,这在负载转移时引入了一定程度的波动性。
如果可能,请使用单个副本和分区来创建包含和隔离的环境。 如果使用多个副本,查询指标会在多个节点间取平均值,这可能会降低结果的精确度。 同样,多个分区意味着数据被划分,如果索引编制也在进行中,某些分区可能具有不同的数据。 优化查询性能时,单个节点和分区可提供更稳定的测试环境。
查询量(QPS)
流量以 每秒搜索查询 (QPS)度量,这是一个内置的指标,可报告为在一分钟窗口内执行的查询的平均值、计数、最小值或最大值。 系统内度量的一分钟间隔(TimeGrain = “PT1M”)是固定的。
默认情况下,Azure AI 搜索保留 30 天的指标数据。 可以启用日志记录以延长保留期。 QPS 在Azure门户中搜索服务的
若要详细了解 SearchQueriesPerSecond 指标,请参阅 每秒搜索查询数。
查询性能
服务范围内的查询性能将测量为 搜索延迟 和 受限查询。 这些指标也可以在 “监视 ”选项卡上使用。
搜索延迟
搜索延迟表示查询需要多长时间才能完成。 若要了解有关 SearchLatency 指标的详细信息,请参阅 搜索延迟。
请考虑以下示例搜索 延迟 指标:采样了 86 个查询,平均持续时间为 23.26 毫秒。 至少 0 表示删除了一些查询。 运行时间最长的查询需要 1000 毫秒才能完成。 总执行时间为 2 秒。
受限制的查询
受限制的查询是指已丢弃而未处理的查询。 在大多数情况下,限制是运行服务的正常组成部分。 这不一定表明有问题。 若要了解有关 ThrottledSearchQueriesPercentage 指标的详细信息,请参阅 “限制搜索查询百分比”。
在以下屏幕截图中,第一个数字是计数(或发送到日志的指标数)。 其他聚合选项显示在顶部或当指针悬浮在指标上时,包括平均值、最大值和总计。 在此示例中,未删除任何请求。
在 Azure 门户中浏览指标
有关当前数字的快速查看,服务“概述”页上的“ 监视 ”选项卡显示三个指标(搜索延迟、 每秒搜索查询数(每个搜索单位)、 限制搜索查询百分比)(以小时、天和周为单位)的固定间隔,并可以选择更改聚合类型。
若要进行更深入的探索,请从 “监视 ”菜单打开指标资源管理器,以便可以分层、放大和可视化数据以浏览趋势或异常。 在这篇有关创建指标图表的教程中详细了解指标资源管理器。
在“监视”部分下,选择指标以打开指标浏览器,范围设置为搜索服务。
在“指标”下,从下拉列表中选择一个,并查看首选类型的可用聚合列表。 聚合定义如何在每个时间间隔内测量收集的值。
在右上角,设置时间间隔。
选择可视化效果。 默认值为折线图。
选择“添加指标”并选择不同的聚合来叠加更多聚合。
放大折线图上感兴趣的区域。 将鼠标指针放在区域开头,选择并按住鼠标左键,拖动到区域的另一侧,然后释放该按钮。 图表会对该时间范围进行放大。
返回用户输入的查询字符串
启用资源日志记录时,系统会捕获 AzureDiagnostics 表中的查询请求。 作为先决条件,必须已 为记录的操作指定目标,即 Log Analytics 工作区或其他存储选项。
在“监视”部分下,选择Logs以在Log Analytics中打开空查询窗口。
运行以下表达式以搜索
Query.Search操作,返回包含操作名称、查询字符串、查询索引和找到的文档数组成的表格结果集。 最后两条语句排除了针对样本索引运行的、包含空的或未指定的搜索的查询字符串,这可以减少结果中的干扰信息。AzureDiagnostics | project OperationName, Query_s, IndexName_s, Documents_d | where OperationName == "Query.Search" | where Query_s != "?api-version=2026-04-01&search=*" | where IndexName_s != "hotels-sample"(可选)对 Query_s 设置列筛选器,以搜索特定语法或字符串。 例如,可以基于等于
?api-version=2026-04-01&search=*&%24filter=HotelName进行筛选。
虽然此方法适用于临时调查,但生成报表可让你在布局中合并和呈现查询字符串更有利于分析。
识别长时间运行的查询
添加持续时间列以获取所有查询的数字,而不仅仅是作为指标选取的查询。 对此数据进行排序会显示哪些查询需要花费最长的时间才能完成。
在“监视”部分下,选择“ 日志 ”以查询日志信息。
运行以下基本查询以返回按持续时间(以毫秒为单位)的查询。 运行时间最长的查询位于顶部。
AzureDiagnostics | project OperationName, resultSignature_d, DurationMs, Query_s, Documents_d, IndexName_s | where OperationName == "Query.Search" | sort by DurationMs
创建指标警报
指标警报建立一个阈值,用于发送通知或触发提前定义的纠正措施。 可以创建与查询执行相关的警报,但也可以为资源运行状况、搜索服务配置更改、技能执行和文档处理(索引编制)创建警报。
所有阈值都是用户定义的,因此应该了解应触发警报的活动级别。
对于查询监控,通常会为搜索延迟和限制查询创建度量警报。 如果 知道何时 删除查询,可以查找减少负载或增加容量的补救措施。 例如,如果在索引编制期间节流查询增加,则可以将其推迟,待查询活动消退后再继续。
如果要推送特定副本分区配置的限制,针对查询量阈值 (QPS) 设置警报也很有帮助。
在“ 监视”下,选择“ 警报 ”,然后选择“ 创建警报规则”。
在“条件”下,选择“ 添加”。
配置信号逻辑。 对于信号类型,请选择 指标 ,然后选择信号。
选择信号后,可以使用图表来可视化历史数据,以便就如何继续设置条件做出明智的决策。
接下来,向下滚动到Alert logic。 对于概念证明,可以为测试目的指定人为的低值。
接下来,指定或创建操作组。 这是满足阈值时要调用的响应。 这可能是推送通知或自动响应。
最后,指定警报详细信息。 命名并描述警报、分配严重性值,并指定是创建处于启用或禁用状态的规则。
如果指定了电子邮件通知,则会收到来自“Microsoft Azure”的主题行为“Azure:已激活的严重性:3 <your rule name>”的电子邮件。
后续步骤
如果尚未这样做,请查看搜索服务监视的基础知识,了解各种监督功能。