Question - impact of higher-than-supported latency #589
Labels
No Label
AdminAPI
Bug
Check AWS
CI
Correctness
Critical
Documentation
Ideas
Improvement
Low priority
Newcomer
Performance
S3 Compatibility
Testing
Usability
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#589
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hi there!
We want (need, basically) to run a Garage cluster between three points of presence, one in Texas, USA and two in Western Australia. Your front page says the maximum supported latency is 200ms, between those two points the latency is measured at 233ms... so close, but yet so far :)
How bad is it when Garage has a latency higher than what is supported? We don't plan to do any ingest at "Site B" and "Site C" in WA, they will be purely mirroring data one-way from Texas.
Is it that it degrades performance, or do things actually break in half?
Thanks!
Hello :)
In theory, it should only degrade performance, and not break anything, as long as you are doing all your requests to the Texas server and not using the WA servers as an API server for your workload.
Performance-wise, what will actually happen will depend a lot from your configuration :
If you are using the normal
replication_mode="3"
, then most operations initiated in Texas will take around one second to complete. This is obviously not acceptable for interactive workloads, but it might be fine if you are just doing back-ups, just increase the number of concurrent requests.If you'd like data to be read and written primarily to/from the local servers in Texas, you can use
replication_mode="3-dangerous"
. This will reduce data durability slightly as a crash of your Texas server at the wrong time might cause some data to be lost. However most things will be extremely fast because all requests can be completed without contacting a server in AustraliaIf instead of having two sites in WA and one in Texas, you have two in Texas and one in WA, you can use
replication_mode="3"
and have acceptable latency as Garage only waits for one remote copy to be done (total quorum = 2) before returning, and in this case the copy to the other Texas DC is sufficient.Please try it out and tell us how things work out!
Hope this helps :)
Some notes on the 3-dangerous replication mode:
Data will only be commited to one node before Garage returns from write requests (other writes are done asynchronously), meaning that if that node crashes at the wrong time data is lost
Data will only be read from one node for read requests, so if it happens to read from the wrong node your data will not yet be there and you will have a 404. In practice, Garage will always priorize reading locally (the servers in Texas will read from the replica in Texas), and if it doesnt then that's a bug in Garage that you shold report. So you should always see your data when doing requests only to/from the Texas servers.