| [PHP] cron na 10 sekund | ||
|---|---|---|
|
blackmamba
11. jun 2009 13:00:23
Pridružen od: 4. mar 2008 559 objav 392 25 11 |
#1
Živjo, Mislite da je lahko problem in se server preveč s časoma zabaše ker: Kako bi lahko na najboljši način naredil "cron" varjanto na 10 sekund? Že v naprej se zahvaljujem za briljantne ideje :) |
|
|
ledi
11. jun 2009 14:03:35
Pridružen od: 14. avg 2008 681 objav 325 223 14 |
#2
predno karkoli delaš se vprašaj če ti ne bojo IP zablokirali če jim boš na 10 sekund smetil povezavo! |
|
|
Vini
11. jun 2009 14:08:28
Pridružen od: 1. sep 2006 6612 objav 5234 611 56 |
#3
Napiši si daemona v PHPju, na PHP konferenci je bilo lušno predavanje o tem, če te ni bilo tam, pa malo pogooglaj [php daemon]. |
|
|
HeXeR
11. jun 2009 14:12:29
Pridružen od: 13. dec 2006 3268 objav 122 22 5 |
#4
O'ja ... nekaterim lahko narediš 10k+ zahtevkov na dan (pa ne čez cel dan), pa nič ne ukrenejo ... ne hosting, ne lastnik strani :) First rule of business, protect your investment.
|
|
|
fatg
11. jun 2009 14:21:35
Pridružen od: 28. jan 2008 94 objav 73 2 0 |
#5
tako pogosto zahtevanje in parsanje strani je slaba praksa, krši netiketo in je sigurno rešljivo drugače. Lahko bi mu tudi rekli napad na neko spletno stran, tudi če se žrtev ne pritoži. :) |
|
|
HeXeR
11. jun 2009 14:27:26
Pridružen od: 13. dec 2006 3268 objav 122 22 5 |
#6
Ni sigurno rešljivo drugače ... sploh če moreš določeno število strani sparsati v omejenem času, kako boš potem rešil drugače? Pritoži ali pa ne ... mogoče sploh ne ve, važno, da "žrtvi" page laufa pa je zadovoljna =D. Napad .. no ja, sej če vidiš, da je stran začela počasi delat boš pač parsal na 20 sekund al pa več, namesto 10 ... glede na to da hočeš sparsati do konca. Če bi pa rad "napadal" pa se malo potrudiš pa bo zadeva offline al pa kaki bandwidth limit exceeded ... =D First rule of business, protect your investment.
|
|
|
Roky
11. jun 2009 16:13:01
Pridružen od: 9. apr 2008 2506 objav 3240 335 107 |
rok.meglic@gmail.com - 031 492 148
|
|
|
blackmamba
11. jun 2009 16:16:13
Pridružen od: 4. mar 2008 559 objav 392 25 11 |
#8
Enako stvar že parsam 1 leto in sicer tako, da uporabnik pošlje ajax request, server zadevo sparsa in pocachira v txt file, ki je v bistvu timestamp. In tako vsakič preverjam, če je trenutni timestamp večji za 10s od prejšnjega (cachiranega - 123423423.txt). vini: Si bom pogledal php deamon, thx |
|
|
Vini
11. jun 2009 16:33:10
Pridružen od: 1. sep 2006 6612 objav 5234 611 56 |
#9
blackmamba, pa je tisti drugi strežnik pod tvojo kontrolo? Če je, bi lahko ob spremembi podatkov pushal vsebino na strežnik, kjer jo prikazuješ. |
|
|
blackmamba
11. jun 2009 17:06:26
Pridružen od: 4. mar 2008 559 objav 392 25 11 |
#10
Pravzaprav imam na serverju neko skripto, ki se poveže z remote mysql-om na nek strežnik, kjer imam dostop samo do baze. Vedno bere iz iste tabele, kjer so non-stop frišni podatki. Ta skripta ni v cronu, ampak jo uporabniki z javascriptom sprožijo vsakih 10s (prototype: ajax periodical updater). Skripta najprej preveri ali je pocachiran file(123234324.txt) starejši od 10s. Če je, potem tega zbriše in naredi novega. V nasprotnem primeru ga samo prebere(ni povezave z bazo). Zadeva dela že 1 in pol BP, procesor je ob navalu dopoldan cca 40-60% idle, drugače tudi 90%. Jaz bi pa to mal 'zoptimiziral' :) |
|