显示缓存的对象和缓存统计信息
您可以查看特定的缓存对象,也可以查看有关缓存命中、未命中和内存使用情况的摘要统计信息。这些统计信息可以深入了解从缓存提供的数据量、哪些项目最大的性能优势以及您可以调整哪些内容以提高缓存性能。
本部分包括以下详细信息:
- 查看缓存的对象
- 查找特定的缓存响应
- 查看缓存统计
查看缓存的对象
启用缓存后,您可以查看缓存对象的详细信息。例如,您可以查看以下项目:
- 响应大小和标题大小
- 状态码
- 内容组
-
ETag、Last-Modified 和 Cache-Control 标头 - 请求 URL
- 单击参数
- 目标 IP 地址
- 请求和响应时间
使用命令行界面查看缓存对象的列表
在命令提示符下,键入:
show cache object
| 属性 | 规范 |
|---|---|
| 响应大小(字节) | 响应标题和正文的大小。 |
| 响应标题大小(字节) | 响应的标题部分的大小。 |
| 响应状态码 | 随响应一起发送的状态代码。 |
ETag | 在响应中插入的 ETag 标题。通常,此标头指示响应最近是否发生了更改。 |
| 上次修改 | 在响应中插入了最后修改的标题。此标头表示响应上次更改的日期。 |
Cache-Control | 在响应中插入的 Cache-Control 标头。 |
| 日期 | 指示响应发送时间的日期标头。 |
Contentgroup | 存储响应的内容组。 |
| 复合匹配 | 如果此对象是基于参数化值缓存的,则此字段值为 YES。 |
| 主机 | 请求此响应的 URL 中指定的主机。 |
| 主机端口 | 请求此响应的 URL 中指定的主机的监听端口 |
| URL | 为存储的响应发出的 URL。 |
| 目标 IP | 从中获取此响应的服务器的 IP 地址。 |
| 目的端口 | 目标服务器的监听端口。 |
| 单击参数 | 如果存储响应的内容组使用单击参数,则会在此字段中列出这些参数。 |
| 单击选择器 | 如果此内容组使用单击选择器,则会在此字段中列出该内容组。 |
| Inval 选择器 | 如果此内容组使用失效选择器,则会在此字段中列出该内容组。 |
| 选择器表达 | 如果此内容组使用选择器,则此字段将显示定义选择规则的表达式。 |
| 请求时间 | 自发出请求以来的时间(以毫秒为单位)。 |
| 响应时间 | 自缓存开始接收响应以来的时间(以毫秒为单位)。 |
| 年龄 | 对象在缓存中存在的时间。 |
| 到期 | 在此之后,对象被标记为已过期的时间长度。 |
| 刷新 | 到期后是否刷新了回复。 |
| 预取 | 如果已为此内容组配置了预回迁,则表示从原始内容组获取对象到期之前的时间长度。预回迁不适用于负面对象(例如,404 个“未找到对象”响应)。 |
| Current readers | 大约是当前提供的命中次数。当下载带有 Content-Length 标头对象的响应时,当前未命中值和当前读取器值通常各为 1。下载分块响应对象时,当前未命中的值通常为 1,但当前读取器值通常为 0,因为提供给客户端的分块响应不来自集成缓存缓冲区。 |
| 当前错过 | 导致缓存丢失和从源服务器获取的当前请求数。此值通常为 0 或 1。如果为内容组启用了“每次轮询”,则计数可以大于 1。 |
| 访问量 | 此对象的缓存命中次数。 |
| 错过 | 此对象的缓存未命中次数。 |
| 压缩格式 | 应用于此对象的压缩类型。压缩格式包括 gzip、放气、压缩和 pack200-gzip。 |
| 响应的 HTTP 版本 | 用于发送响应的 HTTP 版本。 |
响应中 etag 存在弱 | 如果实体的位数发生变化,强 etag 头文件将发生变化。强标题基于对象的八位字节值。如果实体的含义发生变化,弱 etag 标题就会发生变化。弱 etag 值基于语义身份。弱 etags 值从“W”开始 |
| Negative marker cell | 标记对象是可缓存的,但尚未满足缓存的所有条件。例如,对象可能会超过内容组的最大响应大小。将为此类型的对象创建一个标记单元格。下次用户发送此对象的请求时,缓存未命中将被处理。 |
| 创建原因标记 | 创建标记单元格的原因(例如,“等待 minhit”、“内容长度响应数据不在组大小限制”)。 |
| Auto poll every time | 如果集成缓存收到已过期的 200 OK 响应,其中包含验证器(上次修改或 ETag 响应标头),它会存储响应并将其标记为自动宠物(每次自动轮询)。 |
| 响应中插入了 NetScaler Etag | 由 NetScaler 设备生成的 ETag 标头的变体。如果 NetScaler 在响应 Etag 中插入 YES,则会显示值 YES。 |
| Full response present in cache | 指示这是否是完整的响应。 |
| 通过 DNS 验证的目标 IP | 指示存储对象时是否执行了 DNS 解析。 |
| 通过缓存转发代理存储的对象 | 指示此响应是否由于集成缓存中配置的转发代理而存储。 |
| 对象是 Delta 基文件 | 一个被 Delta 压缩的响应。 |
| Waiting for minhits | 指示此内容组在缓存响应之前是否需要最少被击中的源服务器数量。 |
| Minhit count | 如果此内容组在缓存对象之前需要最少命中的源服务器数量,则此字段显示迄今收到的单击次数的计数。 |
| HTTP Request Method | 获取此对象的请求中使用的方法 GET 或 POST。 |
| 按策略存储 | 导致存储此对象的缓存策略的名称。值不可用表示该策略已停用或删除。值为 NONE 表示对象与可见策略不匹配,但是根据内部缓存标准进行存储。 |
| 存在应用程序防火墙 | 当应用程序防火墙和集成缓存都启用时,将使用此参数。应用程序防火墙分析响应页面的内容,存储其元数据(例如,页面中包含的 URL 和表单),然后将带响应的元数据导出到缓存。缓存存储页面和元数据,当缓存为页面提供服务时,它会将元数据发送回请求的会话。 |
| HTTP 标注对象、名称、类型、响应 | 这些单元格表示此数据是否存储为 HTTP Callout 表达式的结果,并提供有关标注和相应响应的各个方面的信息。有关 HTTP 标注的更多信息,请参阅“HTTP 标注”。 |
查找特定的缓存响应
您可以根据搜索条件在缓存中找到单个项目。查找缓存项目有不同的方法,具体取决于包含数据的内容组是否使用命中和失效选择器,如下所示:
如果内容组使用选择器,则只能使用缓存项目的定位器 ID 进行搜索。
如果内容组不使用选择器,则可以使用 URL、主持人、内容组名称等条件进行搜索。
搜索缓存响应时,您可以通过 URL 和主机查找某些项目。如果响应位于使用选择器的内容组中,则只能通过使用定位器编号(例如 0x00000000ad7af00000050)来查找。要保存定位器编号以供以后使用,请右键单击该条目并选择 复制。有关选择器的更多信息,请参阅“配置选择器和基本内容组”。“
使用命令行界面在没有选择器的内容组中显示缓存的响应
在命令提示符下,键入:
show cache object [-locator <positiveInteger>] | [(-url <URL> (-host <hostName> [-port <port>] [-groupName <contentGroupName>] [-httpMethod GET | POST ])) | [-httpStatus<positive integer>] | -group <contentGroupName> | -ignoreMarkerObjects (ON | OFF) | -includeNotReadyObjects (ON | OFF)]
使用命令行界面在具有选择器的内容组中显示缓存的响应
在命令提示符下,键入:
show cache object -locator <locatorString> MarkerObjects ( ON | OFF ) | -includeNotReadyObjects ( ON | OFF ) | [-httpStatus<positive integer>]
使用 GUI 在没有选择器的内容组中显示缓存的响应
导航到 优化 > 集成缓存 > 缓存对象,单击“搜索”,然后设置搜索条件以查看所需的缓存响应。
如果尚未配置任何内容组,则所有对象都位于默认组中。
使用 GUI 在具有选择器的内容组中显示缓存的响应
导航到 优化 > 集成缓存 > 缓存对象,单击“搜索”,然后设置选择器搜索条件以查看所需的缓存响应。
查看缓存统计
下表汇总了缓存统计信息。
计数器
规范
查看缓存统计信息
更新时间:2013-10-28
下表总结了您可以查看的详细缓存统计信息。
| 计数器 | 说明 |
|---|---|
| 访问量 | 在集成缓存中找到并从集成缓存中提供的响应。包括静态对象,例如图像文件、状态代码为 200、203、300、301、302、304、307、403、404、410 的页面,以及与用户定义的策略与 CACHE 操作相匹配的响应。 |
| 错过 | 截获的 HTTP 请求,其中响应最终是从源服务器获取的。 |
| 请求 | 缓存命中总数加上缓存未命中总数。 |
| 非 304 命中 | 如果用户多次请求某个项目,并且缓存中的项目自 NetScaler 设备上次提供该项目以来未发生变化,则 NetScaler 设备将提供 304 响应,而不是缓存的对象。此统计数据表明 NetScaler 设备从缓存中提供了多少项目,不包括 304 个响应。 |
| 304 次单击 | NetScaler 设备从缓存中提供的 304 个(对象未修改)响应的数量。 |
| 304 命中率 (%) | NetScaler 设备提供的 304 个响应相对于其他响应的百分比。 |
| 命中率 (%) | NetScaler 设备从缓存中提供的响应(缓存命中)相对于无法从缓存中提供的响应的百分比。 |
| 节省的原始带宽 (%) | 由于提供来自缓存的响应,NetScaler 设备在源服务器上保存的处理容量的估计值。 |
| NetScaler 提供的字节数 | NetScaler 设备从源服务器和缓存提供的总字节数。 |
| 缓存提供的字节 | NetScaler 设备从缓存中提供的总字节数。 |
| 字节命中率 (%) | NetScaler 设备从缓存中提供的数据占所有已提供响应中所有数据的百分比。 |
| 缓存中的压缩字节 | NetScaler 设备以压缩形式提供的数据量(以字节为单位)。 |
| 可存储的未命中 | 如果 NetScaler 设备在缓存中找不到请求的对象,它会从原始服务器获取该对象。这被称为缓存未命中。可存储的缓存未命中可以存储在缓存中。 |
| 不可存储的未命中 | 不可存储的缓存丢失无法存储在缓存中。 |
| 错过 | 所有缓存都丢失了。 |
| 重新验证 | Cache-Control 标头中的 Max-Age 设置以秒为单位决定中间缓存何时必须使用集成缓存重新验证内容,然后才能将其提供给用户。有关详细信息,请参阅“插入 Cache-Control 标头”。 |
| 成功的重新验证 | 已执行的重新验证的数量。有关详细信息,请参阅“插入 Cache-Control 标头”。 |
| 转换为条件式 req | 对缓存 PET 对象的用户代理请求始终转换为条件请求并发送到原始服务器。有关更多信息,请参阅“每次收到请求时轮询原始服务器。“ |
| 可存储失误率 (%) | 可存储缓存丢失率占不可存储缓存未命中率的百分比。 |
| 成功揭露率 (%) | 成功的重新验证占所有重新验证尝试的百分比。有关详细信息,请参阅“插入 Cache-Control 标头”。 |
| 在最后一个字节到期 | 缓存在收到最后一个正文字节后立即使内容过期的次数。仅适用于积极响应,如表中所述“缓存命中和未命中”。“有关更多信息,请参阅“性能优化示例”。“ |
| 闪存缓存未命中 | 如果启用 Flash 缓存,则缓存只允许一个请求到达服务器,从而消除了闪存人群。此统计数据指示缓存未命中的闪存缓存请求数。有关详细信息,“将请求排队到缓存。“ |
Flashcache 单击 | 缓存命中的闪存缓存请求数。有关更多信息,请参阅“将请求排入缓存队列”。“ |
| 参数化的内部请求 | 与策略与失效 (INVAL) 操作相匹配的请求,以及使用失效选择器或参数有选择地使组中缓存对象过期的内容组的请求。 |
| 完整的无效请求 | 与配置了 invalGroups 参数的失效策略匹配且一个或多个内容组过期的请求。 |
| 无效请求 | 与失效策略匹配并导致特定缓存响应或整个内容组过期的请求。 |
| 参数化请求 | 使用具有参数化内容组的策略处理的缓存请求的数量。 |
| 参数化的非 304 命中次数 | 使用具有参数化内容组的策略处理的缓存请求数,其中找到了完整的缓存响应,且响应不是 304(对象未更新)响应。 |
| 参数化的 304 次命中 | 使用具有参数化内容组的策略处理的缓存请求数,在其中找到了缓存对象,该对象为 304(对象未更新)响应。 |
| 参数化命中总数 | 使用具有参数化内容组(找到缓存对象的参数化内容组)的策略处理的缓存请求数。 |
| 参数化 304 命中率 (%) | 使用参数化策略找到的 304 个(对象未更新)响应占所有缓存命中率的百分比。 |
| 每次提出请求时进行投票 | 如果启用“每次轮询”,则 NetScaler 设备在提供存储对象之前始终会咨询原始服务器。有关更多信息,请参阅“每次收到请求时轮询原始服务器。“ |
| 每次单击时进行投票 | 使用“每次轮询”方法发现缓存命中的次数。有关更多信息,请参阅“每次收到请求时轮询原始服务器。“ |
| 每次投票命中率 (%) | 使用“每次轮询”方法的缓存命中相对于使用“每次轮询”对缓存对象进行的所有搜索的百分比。有关更多信息,请参阅“每次收到请求时轮询原始服务器。“ |
| 最大内存 (KB) | NetScaler 设备中分配给缓存的最大内存量。有关详细信息,请参阅“为缓存配置全局属性”。“ |
| 最大内存活跃值 (KB) | 内存实际分配给缓存后将设置的最大内存量(活动值)。有关更多信息,请参阅“如何为各种场景配置 NetScaler 设备的集成缓存功能。“ |
| 已用内存 (KB) | 实际使用的内存量。 |
| 内存分配失败 | 尝试利用内存将响应存储在缓存中的失败次数。 |
| 迄今为止最大的回应 | 在缓存或源服务器中找到并发送给客户端的最大响应(以字节为单位)。 |
| 缓存的对象 | 缓存中的对象数量,包括尚未完全下载的响应和已过期但尚未刷新的响应。 |
| 标记对象 | 当响应超过内容组的最大或最小响应大小,或者尚未收到内容组的最小命中次数时,就会创建标记对象。 |
| 正在提供命中次数 | 已从缓存中获得的命中次数。 |
| 失误正在处理中 | 从源服务器获取、存储在缓存中然后传送的响应。应该接近可存储错误的数量。不包括不可存储的失误。 |
使用命令行界面查看摘要缓存统计信息
在命令提示符下,键入:
stat cache
使用命令行界面查看特定的缓存统计信息
在命令提示符下,键入:
stat cache -detail > stat cache -detail Integrated Cache Statistics - Detail Integrated Cache Statistics - Summary Rate (/s) Total Hits 0 0 Misses 0 0 Requests 0 0 Hit ratio(%) -- 0 Origin bandwidth saved(%) -- 0 Cached objects -- 0 Marker objects -- 0 Rate (/s) Total Requests 0 0 Hit Statistics Rate (/s) Total Non-304 hits 0 0 304 hits 0 0 Sql hits 0 0 Hits 0 0 304 hit ratio(%) -- 0 Hit ratio(%) -- 0 Origin bandwidth saved(%) -- 0 Byte Statistics Rate (/s) Total Bytes served by NetScaler 648 55379204 Bytes served by cache 0 0 Byte hit ratio(%) -- 0 Compressed bytes from cache 0 0 Miss Statistics Rate (/s) Total Storable misses 0 0 Non-storable misses 0 0 Misses 0 0 Revalidations 0 0 Successful revalidations 0 0 Conversions to conditional req 0 0 Storable miss ratio(%) -- 0 Successful reval ratio(%) -- 0 Flashcache Statistics Rate (/s) Total Expire at last byte 0 0 Flashcache misses 0 0 Flashcache hits 0 0 Invalidation Statistics Rate (/s) Total Parameterized inval requests 0 0 Full inval requests 0 0 Inval requests 0 0 Parameterized Caching Statistics Rate (/s) Total Parameterized requests 0 0 Parameterized non-304 hits 0 0 Parameterized 304 hits 0 0 Total parameterized hits 0 0 Parameterized 304 hit ratio(%) -- 0 Poll Every Time (PET) Statistics Rate (/s) Total Poll every time requests 0 0 Poll every time hits 0 0 Poll every time hit ratio(%) -- 0 Memory Usage Statistics Total Maximum memory(KB) 0 Maximum memory active value(KB) 0 Utilized memory(KB) 0 Memory allocation failures 0 Largest response so far(B) 0 Cached objects 0 Marker objects 0 Hits being served 0 Misses being handled 0 Done <!--NeedCopy--> 使用 GUI 查看摘要缓存统计信息
- 单击页面顶部的 仪表板 选项卡。
- 向下滚动到窗口的 集成缓存 部分。
- 要查看详细的统计信息,请单击表格底部的“更多…”链接。
使用 GUI 查看特定的缓存统计信息
- 单击页面顶部的“报告”选项卡。
- 在“内置报表”下,展开“集成缓存”,然后单击包含要查看的统计信息的报表。
- 要将报告另存为模板,请单击 另存为 并命名报告。保存的报告将显示在 自定义 报告下。