lizard Posted November 13, 2006 Report Share Posted November 13, 2006 Sveiki, lieta sekojosha ir lapa kurai ir paliels klucis datubaze, un lapa ir iebuveta cleanup sistema kas reizi stunda iztira datubazi. Jautasiet kapec reizi stunda vai nav padaudz? Nav padaudz jo viss lapa griezash uz statistiku, vinja mainas pa sekundem un diena norita vai vakara ir pavisam citi skaitlji. Nu ir ta ka palaizhas php fails aks tira datubazi, shamais sak rit nost no servera cik var, tai bridi php vairs nevar pievienoties pie mysql un lapa ka vinja ir iebuvets parada ka serevra parslodze lai lietotaji uzgaida. Bet ka zinam cilvekam nepatik gaidit, un visnh spiezh vislaik refresh, pieprasijums nosutas un serveris vinju megjina apstradat un viss uzkaras. Nu izpauzhas tas ta ka avarige lozad uzkapj pari simtam(piemeram shodien 170) un par shells bremze uzrakstu burtu pec sekundem tik paradas. AKdrez kad defaulta slodze, nu ta k nooed serevris darbiba bija maza tad tirishanas scripts paris sekundes izgaja cauru DB un vis atgriezas savas vietas a tagad ir ta ka idle vakaros stav uz 0, jo slodze tiesham zveriga un kad palaizhas scripts ir vaks. Paiet tik kadas 20 minutes kamer serevris visu izmalj cauri un laa sak iet. Tas ir nereali un tipa es domaju, nevar kka limitet vainu atsevishkju useri vai no ieksh php iestradat ka vinsh to visu nedara cik atri spej bet lenam, lai nav tads varjants ka pa durvim iet 10 cilveki ja visi kultural izies secigi ara tad vis bus bumbas bet ja visi skries pa galvu pa kaklu un 3 iesprudis durvis :). A un no cron taba var palaist izpildei php scriptu? Link to comment Share on other sites More sharing options...
andrisp Posted November 13, 2006 Report Share Posted November 13, 2006 Līdz pusei tiku - pazudu :). Paragrāfos, lūdzu. Link to comment Share on other sites More sharing options...
bubu Posted November 13, 2006 Report Share Posted November 13, 2006 Jā, no crontaba var palaist ko vien tik vēlies /celjsh/uz/php /celjsh/uz/fails.php. Vari mēģināt optimizēt to cleanup skriptu, moška kautkāds nelabs tas tev gadījies. Un komatus arī vairāk derētu. Link to comment Share on other sites More sharing options...
lizard Posted November 13, 2006 Author Report Share Posted November 13, 2006 Nu shaubos, kr4 lab ko tur daudz slept ta lapa ir ou**aw.lv bittorent trakeri, noslepu 2 burtus lai nepadoma ka spamoju. Nu vo un vinjam tas db ir visai pieklajigs 450 000 ieraksti 72 mb! Un cleanup scripta darbiba ir tad piemeram vinsh parbauda katra lietotaja pedejo laiku akd vinsh savienojies iztira ara tos kas pus stundas laika nav sutijushi signalu no klientiem apdeito uzreis torentu tabulu, respektivi viss novisa saistits! Es jau ta esu iztirijis lidz pedejam atstajis visu vajadzigo tikai. Nu piemeram funkcija kas izrubij lietotajus ar shvaku atiecibu, padomajiet pashi, nav tik viegli iziet cauri 17k shunam un izmainit kas mainams, un tilidz shta funkcija palaizhas serveris megjina ispiest ko var un sak akrties parastajiem lietotajiem lapa, vinji psiho spiezh refresh un slodze vel vairak rodas. vajadzetu tas funkcijas izpildes laiku samazinat nevis tik cik vinja atri var bet tik cik es lieku. Nu tak sapratat ideju? Link to comment Share on other sites More sharing options...
andrisp Posted November 13, 2006 Report Share Posted November 13, 2006 Piedodiet par oftopicu, bet - daži nekad nemācās :). Link to comment Share on other sites More sharing options...
bubu Posted November 13, 2006 Report Share Posted November 13, 2006 Neej visam cauri - ej pa 100 rindām, un biežāk kā reizi stundā. Tb izej pirmajiem 100 ierakstiem cauri, nākamreiz nākamajiem 100. (tas 100 ir no zila gaisa izrauts skaitlis, pietvīko to pēc vajadzības). Indeksi datubāzē pareizi salikti? Komati joprojām tev trūkst - grūti lasīt tavu teikto. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted November 14, 2006 Report Share Posted November 14, 2006 lizard --> 1. saliec DB indeksus !!! Tavaa gadijumaa skjiet ka peec laika .... + skaties kur vel vajag... 2 ne tikai iztiiri DB bet arii Palasi ieksh Mysql manuaalja ko dara shie zveeri.... ----------------- OPTIMIZE TABLE FLUSH TABLE ------------------- + iespeejams ka kaadu no tabulaam (users online utt. (tai kurai dati ir pagaidu)) vari tureet atminjaa HEAP vai MEMORY (tik naizmirsti vinjijaam noraadiit maksimaalo ROWu skaitu jo savaadaak skjirsies no gandriiz visas Op atminjas...) + Serverim Peec iespeejas lielaaku RAMu.... -------- P.S. + Panjem kaadu gramatikas gramatu un palasi kaa textus daliit pa paragraafiem..... (varu pacuksteet ievadot tekstu DRIKST izmantot ENTER ;) ) Link to comment Share on other sites More sharing options...
lizard Posted November 14, 2006 Author Report Share Posted November 14, 2006 es zinu ko dara visas funkcijas taja scripta pats isu tur daudzmazparakstijis esu. A kas notiks ka limits uz shunam bus sasniegts? Nu serverim 2 GB ram domaju ka pietiek... Tiesa vbija te viena diena kad vinsh jau saka swapu est Link to comment Share on other sites More sharing options...
Roze Posted November 14, 2006 Report Share Posted November 14, 2006 Vienkāršākais jautājums būtu .. kāda tipa tabulas MySQLā tās ir? MyISAM vai InnoDB? Ja MyISAM būtu vērts pārkonvertēt uz InnoDB jo pieņemu tajā brīdī kad tas cleanup skripts tur darbinās varbūt ieslēdzas kāds neforš SELECTs uz visu tabulu un tā tiek nolockota līdz ar to nekādi INSERT/UPDATE gaida rindā un protams nekas neveras. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted November 14, 2006 Report Share Posted November 14, 2006 es zinu ko dara visas funkcijas taja scripta pats isu tur daudzmazparakstijis esu. Tu domaaji par : OPTIMIZE TABLE FLUSH TABLE ?? Ta tos TEV vajag pielikt skripta beigaas... Un ieteicu palasiit lai zinaatu Kaadeelj... Link to comment Share on other sites More sharing options...
hmnc Posted November 15, 2006 Report Share Posted November 15, 2006 izklausās pēc problēmām sql pieprasījumu arhitektūrā un neindeksēšanas. tabula ar 72mb NAV nekas liels Link to comment Share on other sites More sharing options...
J0ke Posted November 15, 2006 Report Share Posted November 15, 2006 Nu vo un vinjam tas db ir visai pieklajigs 450 000 ieraksti 72 mb! kā būtu ar 2,040,871 ierakstiem un 187.6 MiB db? :) ja tu vēl neesi savu db un querijus sakārtojis tad pat uz 3Ghz xeona ar 4GB ram tev viss lieksies :D 1) peeru tabulu konvertē uz MEMORY engini... 2) čeko slow query logu 3) optimise table katra cleanupa laikā 4) varbūt netik svarīgi... mysql_query vietā izmanto mysql_unbuffered_query... 5) jāsāk lietot kkādu cache... vispār titos trackeristus vajadzētu sākumā pamocīt uz kāda p2 500Mhz lai saprot kā visu optimizēt... ko tad es, es jau neko... Link to comment Share on other sites More sharing options...
lizard Posted November 15, 2006 Author Report Share Posted November 15, 2006 Biezhak vajag tirit messagies, tad nebus 2 miljoni ierakstu! 1) nav nemazakas saprashanas par ko t runa 2) kastas tads? 3) Ka izpauzhas optimizeshana 4) shbos vai ko tas dos 5) visa statistika un tops ir zem cache, parejas sadaljas neko butiski need, un tur ipashi neko no cache'ot nevar Vispar uz mysql lielu uzsvaru nevajag likt jo amn vinsh diezgan normali sakonfigurets ir, jo vairak pa 5% need nu cleanup laika lidz 10 medz uzbraukt, visu pasakumu jau tizlais apacis grauc :( Link to comment Share on other sites More sharing options...
Ghenis Posted November 15, 2006 Report Share Posted November 15, 2006 iemācīšu gudru vārdu - lighttpd. Ne velti traukiem un inbox izmanto shito serveri. Bet tas tikai gadījumam, ja pudeles kakls ir webserveris ... Link to comment Share on other sites More sharing options...
Roze Posted November 15, 2006 Report Share Posted November 15, 2006 iemācīšu gudru vārdu - lighttpd. Ne velti traukiem un inbox izmanto shito serveri. Bet tas tikai gadījumam, ja pudeles kakls ir webserveris ... Lighttpd nav nekāda sakara ar DB un datu normalizāciju :) Tikai savādāks mehānisms kā apstrādāt dinamiskos php pieprasījums.. Šeit pudeles kakls aiz kam nav webserveris bet DB :) un lighttpd burtiski nepalīdzēs (protams risinājums ar lighttpd būs saudzīgāks ar atmiņu un to varēs iedžiebt vairāk DB serverim (ja uz vienas kastes)) Link to comment Share on other sites More sharing options...
Recommended Posts