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?

asked 2 years ago312 views
4 Answers
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?

answered 2 years ago
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.

answered 2 years ago
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.

answered 2 years ago
0

Hey @REDACTEDUSER

P61064647

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions