Diskuze: Velký přenos dat v DB MYSQL
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Osobně bych začal kontrolou tabulky, která je největší, nebo obsahuje nejvíce záznamů. Následně bych se podíval jaká data to obsahuje zda-li se nejedná třeba i o nějaké chyby a pak bych provedl kontrolu kodu. Může sožná, ale to si nejsem jistý jak se počítá počet dotazů, tak zda třeba si neukládáte do proměnné xx dotazů a následně dojde k odeslání všeho v jedné dávce.
Snad něco z toho pomůže.
Na co konkrétně se zaměřit u kontroly tabulek? K tomuto velkému přenosu dat probíhá i v době, kdy neběží žádný script a v noci. Nemyslím si, že by na eshopu bylo tolik lidí, aby vznikali takovéto dotazy.
Nicméně bych to rád vyřešil.
Může to být takhle cokoliv, bude lepší když někomu řekneš a podívá se ti přímo na to. Samozřejmě někomu kdo tomu rozumí a nezneužije tvá data... Může se jednat o roboty, nebo chybnou optimalizaci.. Těžko říct :/
Najprv by som sa spýtal, že čo máš v tej DB vôbec uložené, keď dosahuje prenos také hodnoty
Pohyb lidí můžeš hlídat přes GoogleAnalytics, takže se můžeš podívat. Každopádně to měří provoz obecně, takže z toho můžeš zjistit i víc.
Pak si dělej nějakou soukromou analýzu přenosu dat (někde si zapisuj, když proběhne skript pro aktualizaci dat v databázi).
Určitě to chce projet si databázi a nakreslit si průběhy, abys viděl frekventovanost jednotlivých částí.
Ještě by bylo dobré zjistit, jaký objem dat je normální na jeden dotaz a propočítat to.
Díky, mrknu na to. Ono to vypadá na špatně nastaveny indexy. Děkuji
Porno, co jiného ikdyž to by byl traffic větší. Jede na tom shop.
mě to nepřijde tak dramatické, občas pracuji s databázemi kde je traffic několikrát větší, SQL Server žere 30 GB RAM a jede full time traffic minimálně 5 Mb/s (možná v noci trochu míň). Provozovatel hostingu tě za to buzeruje, protože parazituješ ostatní účastníky sdíleného hostingu. Zatímco jiní mají malé databáze, takže na jednom serveru běží třeba 100 databází, tobě pomalu dedikují server, přestože to oba případy mají obvykle za stejnou cenu. Pokud tě za to neplánuje nějak penalizovat a aplikaci to nevadí, tak bych to neřešil.
Aplikaci to nevadí, poskytovateli taky ne. Jde o automatický report a nejsou schopni mi říct nic bližšího. To je hledání v kupce sena. Každopádně to chci vyřešit. Zvláštní je, že report přichází i v době, kdy tam evidentně nejsou lidi a nejsou puštění nějaký automatický zálohy apod. Což je divný. Jediné co mě napadá, že to jsou nějaký boti.
tak nejjednodušší je udělat nějaké logování. Pak ho vypnout. Minuta provozu by u tohoto měla bohatě stačit. nevím o jakou aplikaci se jedná, ale obvykle se to řeší, tak, že najdeš bod, kde se přímo volá databáze (pokud používáš v PHP třeba nějaký databázový wrapper, tak tam) a zaloguješ do souboru SQL dotaz, čas a třeba dobu trvání. Počítej s tím, že minuta provozu u takové aplikace vygeneruje docela dost velký soubor, tak to nezapomeň rychle vypnout.
dost možná to budou nějaké prdy, které aplikace nějakým bugem volá třeba cyklicky.
Jasně, to je dobrý nápad. Každopádně si myslím, že to zase tak horké nebude. Díky
Zobrazeno 13 zpráv z 13.