mgp4 / aws-hackathon-2015

0 stars 0 forks source link

Pomalé vyhodnocování zastávek spojů na straně serveru #6

Open garncarz opened 8 years ago

garncarz commented 8 years ago

Při importovaném result206.zip (pouze) trvá vygenerování JSONu obsahujícího zastávky všech spojů 48 sekund při užití SQLite3.

garncarz commented 8 years ago

Při užití PostgreSQL (stále na lokálu, u mě na Wedos SSD VPS) 41-42 sekund.

garncarz commented 8 years ago

Ok, sraženo na 10-11 sekund.

garncarz commented 8 years ago

for trip in models.Trip.objects.all().prefetch_related('stop_times') nepomáhá (sekundu přidává), commitovat nebudu.

garncarz commented 8 years ago

K (vzdálenému) AWS PostgreSQL RDS se mi nedaří připojit... stálo by za to vyzkoušet, jak rychle to běhá tam. Taky by poté mohl být výkonný kód nasazen na AWS EC2, aby spolu aplikace a DB komunikovaly rychle v rámci datacentra.

garncarz commented 8 years ago

Díky mentorovi se mi již daří připojit k AWS PostgreSQL RDS. Nestačilo jej nastavit na "publicly accessible", ale muselo se i vytvořit nové firewallové pravidlo povolující přístup odkudkoliv a přiřadit k dané instanci.

Ale import dat z daného zipu nyní běží již... já nevím, 15-20 minut?... což je o dost déle než na lokálu. Předpokládám tedy, že vzdálená práce s RDS je zcela nepraktická. Proto zbývá jedině zkusit rozeběhnout Django na EC2.

garncarz commented 8 years ago

Ten vzdálený import stále nedoběhnul. Nyní zřizuji EB nad EC2, taky to trvá.

garncarz commented 8 years ago

Jinak pomocí taky může být cachování daného JSONovského view. Je nutné pamatovat na jeho invalidaci při změně DB.

garncarz commented 8 years ago

Vzdálený import už doběhnul, rychlost získání JSONu je taky 48 sekund, zajímavé.

garncarz commented 8 years ago

Už to jede na http://mgp4-django-dev.elasticbeanstalk.com/transport/map/, generování stejného JSONu je u AWS na 7-8 sekundách.

garncarz commented 8 years ago

Přešel jsem z těch free micro instancí na large (EC2 c3.8xlarge, RDS m4.10xlarge) a JSON se načítá 4,5 sekundy.

garncarz commented 8 years ago

Cachováním se mi u sebe podařilo srazit čas z 12 sekund pro JSON na 5,5 sekundy.

garncarz commented 8 years ago

Nasadil jsem AWS ElastiCache/Memcached cache.r3.8xlarge 237 GB, ale moc se to nemění. Již není možné stáhnout celý JSON (během minuty to timeoutuje). Importuju na AWS automaticky i další zipy.