FlexMatch long matchmaking time

0

We are using the following matchmaking ruleset with a standalone configuration

{
    "name": "MatchmakingRuleset",
    "ruleLanguageVersion": "1.0",
    "algorithm": {
        "backfillPriority": "high",
        "batchingPreference": "random",
        "strategy": "exhaustiveSearch"
    },
    "playerAttributes": [
        {
            "name": "tournamentDefinitionID",
            "type": "string"
        },
        {
            "name": "skill",
            "type": "number",
            "default": 0
        }
    ],
    "teams": [
        { 
            "name": "player",
            "minPlayers": 0,
            "maxPlayers": 1,
            "quantity": 4
        }
    ],
    "rules": [
        {
            "name": "SameTournament",
            "description": "Match players to play in the same tournament type",
            "type": "comparison",
            "operation": "=",
            "measurements": ["flatten(teams[*].players.attributes[tournamentDefinitionID])"]
        }
    ]
}

Since minPlayers is 0 for all teams, that means that when there are no other players matchmaking at the moment and no backfilling tickets, players can get a successful match with just their own ticket, in which event we create a new game, and the player enters this game alone. We then call startMatchBackfill with the same configuration and repeat the process until the game is full.

This mean that at any given moment, any submitted ticket "should" always result in a MatchmakingSucceeded callback, so theoretically there should be no waiting for matchmaking.

For some reason we are experiencing wait times of 5-10 seconds from when we call startMatchmaking until our matchmaking event listener lambda is called (wired through EventBridge), is there any way to speed this up? Is this a technical constraint? Is FlexMatch waiting for more tickets to enter the pool, and is there a way to configure this?

已提问 2 年前318 查看次数
4 回答
0

Hello, did you root out the possibility of lambda cold start? Or can you provide some ticket ids & rough time & region so we can take a closer look?

已回答 2 年前
0

Had a very busy couple of weeks here, thanks for responding and we'll appreciate if you'll take a look.

Ticket ID: DefaultTournamentDefinition-3--7caa6778-e1d9-4d0a-a246-cc3b77a75a4c Region: eu-central-1 unix seconds of startMatchmaking returned success 1646420747 our lambda was invoked by event bridge for "MatchmakingSearching" and "MatchmakingSuccess" at unix seconds 1646420755

Regarding the possibility of a lambda cold start, I'm not seeing why a cold start would take 8 seconds in our case. Also, we can have a ticket take this amount of time followed by multiple tickets that take this amount of time. Also there are no long running / network operations happening in the matchmaking event listener's global scope.

已回答 2 年前
0

Just tried using SNS -> SQS -> Lambda for matchmaking notifications with similar results. Always a delay of at least about 5 seconds before receiving even the first "MatchmakingSearching" event after calling startMatchmaking.

已回答 2 年前
0

Hey @REDACTEDUSER

P61064647

已回答 2 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则