0

谁能帮我理解以下情况。我有 1 名工人的配置:

workerOptions := worker.Options{
    BackgroundActivityContext:               ctx,
    MaxConcurrentWorkflowTaskPollers:        10,
    MaxConcurrentActivityTaskPollers:        20,
    MaxConcurrentWorkflowTaskExecutionSize:  256,
    MaxConcurrentLocalActivityExecutionSize: 256,
    MaxConcurrentActivityExecutionSize:      256,

如果我将 MaxConcurrentWorkflowTaskExecutionSize 和 MaxConcurrentActivityExecutionSize 设置为 1024,worker 开始工作太慢了。我认为增加这两个选项将有助于处理更多的活动和工作流任务,但它的工作方式不同。工人有足够的 CPU/RAM,而且他根本没有超载。

从 Temporal UI 我能够捕捉到一些工作流在这种历史状态下冻结了一段时间:

1 WorkflowExecutionStarted Aug 10th 10:40:17 am CLOSE TIMEOUT 30m
2 WorkflowTaskScheduled Aug 10th 10:40:17 am TASKQUEUE temporal-basic

我也调整了这样的匹配参数:

matching.numTaskqueueReadPartitions:
- value: 100
  constraints: {}
matching.numTaskqueueWritePartitions:
- value: 100
enter code here

此外,当我不时使用不同配置的工作人员时,我会在历史服务中遇到此类错误:

temporal-history-5f8757cc4f-v8h94 temporal-history {"level":"error","ts":"2021-08-09T22:26:09.181Z","msg":"Fail to process task","service":"history","shard-id":255,"address":"10.218.13.7:7234","shard-item":"0xc09d263700","component":"transfer-queue-processor","cluster-name":"active","shard-id":255,"queue-task-id":2213997,"queue-task-visibility-timestamp":"2021-08-09T22:26:00.658Z","xdc-failover-version":0,"queue-task-type":"TransferActivityTask","wf-namespace-id":"4b775794-a076-499e-aa11-177db696d780","wf-id":"basic-workflow-30-0-5-3523","wf-run-id":"fc82334c-b57d-4d08-8c0d-480b6156b995","error":"context deadline exceeded","lifecycle":"ProcessingFailed","logging-call-at":"taskProcessor.go:332","stacktrace":"go.temporal.io/server/common/log.(*zapLogger).Error\n\t/temporal/common/log/zap_logger.go:143\ngo.temporal.io/server/service/history.(*taskProcessor).handleTaskError\n\t/temporal/service/history/taskProcessor.go:332\ngo.temporal.io/server/service/history.(*taskProcessor).processTaskAndAck.func1\n\t/temporal/service/history/taskProcessor.go:218\ngo.temporal.io/server/common/backoff.Retry\n\t/temporal/common/backoff/retry.go:103\ngo.temporal.io/server/service/history.(*taskProcessor).processTaskAndAck\n\t/temporal/service/history/taskProcessor.go:244\ngo.temporal.io/server/service/history.(*taskProcessor).taskWorker\n\t/temporal/service/history/taskProcessor.go:167"}

目标是了解我应该调整什么(选项/配置)以从 Temporal 获得更多性能。

我将不胜感激有关在哪里查看问题的任何提示。

4

0 回答 0