性能调优
编辑性能调优编辑
有很多选项可用于调整代理性能。要调整哪个选项取决于您是优化速度、内存使用情况、带宽还是存储。
采样编辑
调整代理性能时,第一个要考虑的旋钮是 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
调整指标收集的间隔。