Hi,
There's a problem with the DigitalOcean connection, because it extends from S3 storage, it tries to fetch the region remotely on each page load, but the region is not needed for DigitalOcean, thus is never fetched, never stored and always queried for.
In S3Storage::getClient you call S3Storage::getS3Client which in turn calls S3Storage::getBucketRegion which then uses the s3 client to determine the region by calling S3Client::determineBucketRegion. So this is a remote call. Which takes time. And there is no need to do something like this for DigitalOcean. We simply added this method in the DigitalOceanStorage class:
public function getBucketRegion() {
return 'us-east-1';
}
Because DO does not care about this at all but this way we simply skip a very expensive network call.
Hi,
There's a problem with the DigitalOcean connection, because it extends from S3 storage, it tries to fetch the region remotely on each page load, but the region is not needed for DigitalOcean, thus is never fetched, never stored and always queried for.
In
S3Storage::getClientyou callS3Storage::getS3Clientwhich in turn callsS3Storage::getBucketRegionwhich then uses the s3 client to determine the region by callingS3Client::determineBucketRegion. So this is a remote call. Which takes time. And there is no need to do something like this for DigitalOcean. We simply added this method in the DigitalOceanStorage class:Because DO does not care about this at all but this way we simply skip a very expensive network call.