性能调优
编辑性能调优
编辑有很多选项可用于调整代理性能。要调整哪个选项取决于您是针对速度、内存使用量、带宽还是存储进行优化。
采样
编辑调整代理性能时,首先要考虑的是 TransactionSampleRate
。调整采样率可以控制跟踪请求的百分比。默认情况下,采样率设置为 1.0
,这意味着跟踪 *所有* 请求。
采样率会影响所有四个性能类别,因此简单地降低采样率是提高性能的一种简单方法。
以下是如何使用 ASP.NET Core 配置 将采样率设置为 20% 的示例。
{ "ElasticApm": { "TransactionSampleRate": 0.2 } }
堆栈跟踪
编辑在复杂的应用程序中,一个请求可能会产生许多跨度。为每个跨度捕获堆栈跟踪可能会导致大量的内存使用。堆栈跟踪也会为每个错误捕获。有一些设置可以调整如何捕获堆栈跟踪。
禁用捕获堆栈跟踪
编辑要禁用捕获堆栈跟踪(对于跨度和错误),请将 StackTraceLimit
设置为 0
。
仅为长时间运行的跨度捕获堆栈跟踪
编辑在其默认设置中,APM 代理会为每个持续时间超过 5 毫秒的已记录跨度收集堆栈跟踪。要增加持续时间阈值,请设置 SpanStackTraceMinDuration
。
减少捕获的堆栈跟踪帧数
编辑StackTraceLimit
控制在捕获堆栈跟踪时应收集多少个堆栈帧。
禁用捕获 HTTP 请求和响应标头
编辑捕获 HTTP 请求和响应标头会增加 Elasticsearch 使用的内存分配、网络带宽和磁盘空间。要禁用捕获 HTTP 请求和响应标头,请将 CaptureHeaders
设置为 false
。
增加指标收集间隔
编辑.NET 代理跟踪某些系统和应用程序指标。这些指标会定期收集并发送到 APM 服务器,然后发送到 Elasticsearch。您可以使用设置 MetricsInterval
调整指标收集的间隔。