| Težave serverja za spletno gostovanje | ||
|---|---|---|
| bl4ckb1rd16. jan 2010 01:42:05Pridružen od: 18. avg 2008 962 objav +464-765 | #11Kot prvo preveri koliko časa se skripta izvaja, katere querye izvaja, ter koliko jih je. Preveri da ni problem v SQL-u... Če se predolgo izvajajo SQL-i naredi indexe, spremeni SQL stavek itd. Preveri da chess.php ni zagnan tudi po obisku obiskovalca, se pravi da pravilno zapre povezavo z SQLom itd. Preveri tudi da uporabljaš persistent connection do SQL-a, da ni pri vsakem queryu ponovno potrebno vzpostavljati povezave itd. Zapisuj si rezultate v Log datoteko, tako da lahko debugiraš kasneje. Sam sem enkrat imel problem da so boti generirali tak traffic, ker so se "zaloopali" na določeni strani in mi srali... Prav tako sem imel probleme z SDS stranko enkrat... ko je eni izmed mojih strank šarila po imeniku blogov, ter indexirala vse podstrani. Skratka preveri da niso kaki čudni roboti, ki povzročajo to. Včasih je pametno zapisati tudi IP log fajl, ki se konekta, ter malce preveriti reverse hoste... da vidiš da ni slučajno kak ip prevečkrat konektan itd. nazadnje urejal bl4ckb1rd 16. jan 2010 01:43:40 všeč(0)ni všeč(0)spam(0) Ruska ruleta v command line-ju: [ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo *Click* | |
| phpzofa16. jan 2010 12:22:27Pridružen od: 10. jul 2009 50 objav +3-271 | #12MySQL: sem pregledal možnost loopa pa ga ni, pa tudi vsi ostalo zahtevki so kratki za eno polje po indexu...vse je klasičen PHP z submit metodo z enkratnim izvajanjem procedur - ni Ajax platforma - dostop do procedure je možen samo prijavljenim uporabnikom preko čekiranja sessiona, je nekaj nizov - arrays do 64 členov ostalo so v glavnem procedure, ki se izvajajo po potrebi, skripta(sešteto cca 400kb)... Bandwidth = vse kar server downloada na uporabniško stran - vidno Awstat CPU - poraba = trenutna poraba v MB - ali obstaja možnost testiranja??? koliko jo nek skript rabi. da se izvede.... čas izvajanja od 1 do 5 sec pri nalaganju pri uporabniku - zelo počasno.... obstaja možnost, da kdo pozabi zapreti šah vendar je delovanje v prazno omejeno z session čekom in ga preusmeri ven iz šaha... všeč(0)ni všeč(0)spam(0) Use your brain, think before you tell, use google before you ask | |
| bl4ckb1rd16. jan 2010 14:09:56Pridružen od: 18. avg 2008 962 objav +464-765 | #135 sekund nalaganja je ogromno... (če se 5 sekund nalaga, pomeni da 100% bremeni procesor v tem času) Mislim, upam da si to dodal unixtimestamp na začetku in na koncu skripte ter časa odštel, ne pa da si štel preko web browserja... Kar se tiče velikosti skripte nima veze toliko... Bolj je vprašanje število queryev... isto prešteješ ob vsakem klicu querya, prišteješ +1, ter na koncu izvajanja skripte izpišeš... Nisi povedal koliko je teh queryev na en execute skripte... Imaš skripto na voljo samo prijavljenim uporabnikom ali tudi public ? Če te razumem prav... ali skos laufa ta skripta .php, če ima en odprt šah ali samo ko ga prvič odpre ? Če je prvo, bi lahko naredil da šele ko je sprememba poteze ali kaj takega, da kliče php, vmes pa ni zalaufana skripta... Ne vem zdaj kako imaš narejeno vendar verjetno se da kake optimizacije narest. Ker drugače se boš mogu selit na kak VPS, ker hostingi ti ne bodo tega pustili nikjer, da preveč bremeniš procesor... Tu so hakelci hostingov... Nima veze če ti vse neomejeno dajejo, pa prenos in use... nima to veze s temi skritimi limiti cpuja in sql queryev... to je nenazadnje pravo merilo za obremenitev strežnika. všeč(+1)ni všeč(0)spam(0) Ruska ruleta v command line-ju: [ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo *Click* | |
| phpzofa16. jan 2010 15:03:38Pridružen od: 10. jul 2009 50 objav +3-271 | #14Sedaj se je odprlo ono pravo - merilo za porabo CPU in limit te porabe - ni nikjer definiran. Ponudnik lahko ob vsakem času reče preveč CPU mi trošiš ne da bi navedel parametre limitov. Čas merjenja nalaganja je z unixtimestamp - tick. Procedura se nalaga z avtomatskim refrešom (interval 10 do 30 sek) ali pa po potrebi z ročnim osveževanjem - vmes se nič ne dogaja - je pač PHP klasika, če bi bil Ajax bi sigurno manj trošil, query zahtevkov je okoli 7 - samo eden ima loop ostali gledajo npr ime nicka ali čas porabe za potezo(eno polje). Čas nalaganja je bil merjen na domačem serverju MS IIS. Kakšna optimizacija se bi že našla je pa vprašanje, če bo to sploh kaj vplivalo, res pa je da skripta zelo kompleksna. Naj bolj zanimivo je dejstvo, da ta zadeva deluje več kot leto in pol na istem serverju pa do sedaj niso imeli pripomb - na serverju pa ni nekih resnih spletnih(vizitke tam do 15 podstrani - obisk pa minimalen) strani razen njihove. všeč(0)ni všeč(0)spam(0) Use your brain, think before you tell, use google before you ask | |
| Roky16. jan 2010 18:54:13Pridružen od: 9. apr 2008 1741 objav +1191-15373 | #15 maatej:Javascript se izvaja lokalno na "visitor" računalniku in ne na strežniku, tko da tukaj je čudno, da ti hosting teži:) @phpzofa. Preprosto porasta pri številu obiskovalcev pa ni? nazadnje urejal Roky 16. jan 2010 18:54:29 všeč(0)ni všeč(0)spam(0) | |
| phpzofa17. jan 2010 12:36:22Pridružen od: 10. jul 2009 50 objav +3-271 | #16sem dodal merjenje časa ter odklopil nekaj "nepotrebnih" klicev v mySQL, sedaj so časi kar užitni od 0.02 do 0.2 sek za nalaganje podstrani, v šahu pa še je vedno čas kar visok - pri zapisu potez do 2.5 sek nalaganje pa okoli 0.2 sek - vem pa da je danes nedelja. Bolj realni podatki bodo jasni v ponedeljek ali torek ko bo verjetno večji promet na strežniku. Malo sem gledal po spletu na tematiko CPU limit - omejevanje porabe CPU strežnika - pa kaj jasnega ne najdem - ima kdo podobne izskušnje??? všeč(0)ni všeč(0)spam(0) Use your brain, think before you tell, use google before you ask | |
| bl4ckb1rd17. jan 2010 17:08:20Pridružen od: 18. avg 2008 962 objav +464-765 | #17Ti na svoji strani težko kaj omejuješ cpu. To lahko omeji kvečjemu tvoj host s server side skriptami... Drugače pa hostu predlagaj re-nice procesov pač... Drugače pa če mene prašaš so se spravili nate ker očitno jih baše strežnik. Prej itak nimajo razloga za teženje. Ko se ti pa gre ali boš spravil nanj še kako stranko več, boš pa bolj požrešnim strankam zatežil naj omejijo porabo resursov. Vsaj to delajo ponavadi. In res je, nikjer ne piše koliko SQL queryev na minuto / CPU-ja lahko porabiš na strežniku... To so pač hakelci hostingov, ki potem lahko rečejo da bremeniš strežnik s svojo skripto in to je to. Moraš pa tudi razumeti da če imaš pač preveč uporabnikov naenkrat online, ne moreš pričakovati da te bodo kar tolerirali nonstop in ti omogočali abnormalno porabo... Vsaj ne za tak denar kot jim daješ ti na mesec. Večina hostingov te potem napoti na VPS ali kaj podobnega. všeč(0)ni všeč(0)spam(0) Ruska ruleta v command line-ju: [ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo *Click* | |
| bl4ckb1rd17. jan 2010 17:13:32Pridružen od: 18. avg 2008 962 objav +464-765 | #18Najboljša varjanta je itak da naložiš čimveč dela brskalniku samemu (ta ima ponavadi na voljo več resursov kot sam strežnik, ki se mora ukvarjati s 100 uporabniki naenkrat. brskalnik pa le za samega sebe...)... Strežnik ima dovolj dela že sam. Tako da če lahko v javaskriptu napišeš več kode, bi ti to toplo priporočal. Nenazadnje bo to bolje tudi zate, ne glede na to kam boš šel, če ne ostaneš pri trenutnem ponudniku. všeč(0)ni všeč(0)spam(0) Ruska ruleta v command line-ju: [ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo *Click* | |
| Boter20. jan 2010 16:36:16Pridružen od: 17. jan 2010 33 objav +2-30 | #19 phpzofa: Menjaj ponudnika gostovanja. Včasih je kakšna skripta PAČ požrešna. In glede na to, da se večkrat poganja... Če ne druga predlagaj jim nadgraditev sistema, pa bo mir :P všeč(0)ni všeč(0)spam(0) | |
| sce20. jan 2010 17:31:13Pridružen od: 27. maj 2007 772 objav +112-182 | #20Take stvari je bolje gostovati na VPSjih ali dedi če tako žre. všeč(0)ni všeč(0)spam(0) | |