2017-06-30 3 views
0

Ich habe festgestellt, dass das Hochladen kleiner Dateien in den S3-Bucket sehr langsam ist. Bei einer Datei mit einer Größe von 100 KB dauert das Hochladen 200 ms. Sowohl der Eimer als auch unsere App sind in Oregon. App wird auf EC2 gehostet.Verwendet Boto2 http oder https, um Dateien auf s3 hochzuladen?

Ich googelte es und fand einige Blogs; z.B. http://improve.dk/pushing-the-limits-of-amazon-s3-upload-performance/ Es wird erwähnt, dass http viel Geschwindigkeitsgewinn bringen kann als https. Wir verwenden Boto 2.45; Ich frage mich, ob beide standardmäßig https oder http verwenden? Oder gibt es einen Parameter, um dieses Verhalten in Boto zu konfigurieren?

Vielen Dank im Voraus!

+0

Was ist die EC2-Instanz? Wenn es ein beschissenes t2 ist, könntest du ärmer werden (aber ich würde überrascht sein, wenn diese schlechte) Netzwerkleistung. Sie sollten auch einen S3-VPC-Endpunkt (möglicherweise) für einen hohen Durchsatz bis S3 für ein privates Subnetz verwenden – Henry

Antwort

0

Ich habe versucht, Boto3, die einen schönen Parameter "use_ssl" im Verbindungskonstruktor hat. Es stellte sich jedoch heraus, dass boto3 deutlich langsamer ist als boto2 .... es gibt tatsächlich schon viele Beiträge online zu diesem Thema.

Schließlich fand ich, dass in boto2, gibt es auch eine ähnliche param "is_secure"

self.s3Conn = S3Connection (config.AWS_ACCESS_KEY_ID, config.AWS_SECRET_KEY, host = config.S3_ENDPOINT, is_secure = False)

Die Einstellung is_secure auf False spart uns ca. 20ms. Nicht schlecht ...

0

Die boto3 client enthält einen use_ssl Parameter:

use_ssl (boolean) - Unabhängig davon, ob die Verwendung von SSL. Standardmäßig wird SSL verwendet. Beachten Sie, dass nicht alle Dienste Nicht-SSL-Verbindungen unterstützen.

Sieht so aus, als wäre es an der Zeit für Sie, zu boto3 zu wechseln!

Verwandte Themen