Open garncarz opened 8 years ago
Při užití PostgreSQL (stále na lokálu, u mě na Wedos SSD VPS) 41-42 sekund.
Ok, sraženo na 10-11 sekund.
for trip in models.Trip.objects.all().prefetch_related('stop_times')
nepomáhá (sekundu přidává), commitovat nebudu.
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.
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.
Ten vzdálený import stále nedoběhnul. Nyní zřizuji EB nad EC2, taky to trvá.
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.
Vzdálený import už doběhnul, rychlost získání JSONu je taky 48 sekund, zajímavé.
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.
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.
Cachováním se mi u sebe podařilo srazit čas z 12 sekund pro JSON na 5,5 sekundy.
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.
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.