Speeding up Simulator cold start time

I have a simulator set up to run server side when a room is created. It currently takes about 50 seconds for the cold start - from the time the client joins the room until I see simulated prefabs appear in game. There is only a single gameobject in the world so the time is not dominated by loading our demo scene.

For a short session game that loading time would be far too long. Are there strategies to speed this up or see where the time is going?

I’m running in US East on the sim.2x specs.
Project id is cog4o122t1clkfbfojc0, sdk v1.1.4

[edit] for comparison I just tested the sim.8x server and it was faster at around 38 seconds, but I probably don’t need that expensive horsepower to run the game steady state, and 38 seconds is still too long I think.

Thanks!

Hello again - checking your logs for your simulator, I see that you’re issuing some sort of external request:

Curl error 7: Failed to connect to [external domain] port 443 after 6 ms: Error

2024-04-29T 11:20:53-05:00Z System.TimeoutException: A timeout occurred after 30000ms selecting a server using CompositeServerSelector{ Selectors = ReadPreferenceServerSelector{ ReadPreference = { Mode : Primary } }, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 },

This is timing out and adding 30 seconds to your startup. Simulators on the free plan do not have access to the external internet, so calls like this will either need to be turned off or not waited upon.

Does that clarify what’s going on here?

Shoot ok that is super helpful - yes it tries to connect to a web service API and a MongoDB connection.

We are on a paid credit card now, and I see our ping to external web services is working so maybe just the mongodb connection is being refused for some other reason. I’m not sure why it is blocking on that - will take a look.

Although you have a credit card entered (which is required to run simulators at all), you are on the “Free Plan”. On this plan, simulators cannot access external URLs and can only communicate with the replicator in our cloud.

If you’d like you can upgrade to our Bronze plan, and that would allow you make external requests. If you’d like to discuss other options, please email devrel@coherence.io and we can discuss further!

1 Like

Thanks - will email.
The external connections are necessary for our architecture, but we are more than a year from launch so paying for scale all through development does not make much sense. Appreciate the help!

Makes sense. I get a sense you’re blocked since this is core to your architecture? I’ll also follow up internally to see how we can help.

1 Like