Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ES server + code changelog

[es] :: Vesti :: ES server + code changelog
(HARDTOP topic, by Gojko Vujovic)
Strane: < .. 1 2 3 4

[ Pregleda: 11028 | Odgovora: 69 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog23.04.2006. u 13:35
• Izbačeno još dva query-ja sa stranice za prikaz teme. Nisu bili neki zahtevni, ali pošto su podaci već bili dostupni sa druge strane (GrabTopicInfo()), ovi mogu da se ukidaju.
23.04.2006. u 13:35 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog23.04.2006. u 20:57
Optimizacije:

• Računanje broja poruka u poslednjih 24h na naslovnoj stranici sada koristi index (upit se brže izvršava) i ovaj podatak se sada ne računa pri svakom otvaranju stranice nego se kešira. Osvežavanje je na 15 minuta, kao i ostalih statistika sa naslovne globalnih za ceo sajt. Statistike po forumima se i dalje generišu na svakih 30 minuta.

Rezultat: dva query-ja manje na naslovnoj od kojih je jedan bio prilično spor (ovaj što nije koristio index).

• Optimizovan query za računanje broja novih poruka od poslednje posete. EXPLAIN sada kaže da koristi index za brojanje.

• Izbačen jedan query koji je dovlačio listu moderatora na prikazu foruma (es.org/forum/n). Ovaj podatak je dostupan preko GrabBoardInfo().

• Izbačen jedan query koji je dovlačio broj poruka radi straničenja na prikazu liste tema bez odgovora u forumu (es.org/forum/temebezodgovora/N). Ovaj podatak je sada dostupan preko GrabBoardInfo().

• Izbačena dva query-ja na prikazu foruma (es/forum/N) koji su dovlačili nazive prethodnog i sledećeg foruma, kako bi se isti prikazali u title tagu u <link rel="prev" ...> i <link rel="next" ...>. Ukinuo sam potpuno te tagove, realno to je napušten koncept, nisam skoro čuo da ga neko koristi, a i to nema mnogo smisla na ES-u jer "sledeći" forum po ID-u ništa ne znači. Forum jump dropdown meni je dostupan na istoj stranici tako da ovo nije potrebno.

• Izbačen jedan query sa naslovne. Postojao je poziv ka GrabPM() funkciji koja je proveravala da li korisnik ima nove poruke i davala informaciju o tome. Ovo se već duže vreme ne koristi na naslovnoj, ali kad je izbačeno iz templejta (sa prikaza), nije izbačen i deo koji je računao ovaj podatak. To je ista ova stvar koja je preseljena u header svake stranice, možda se neko seća da je ranije to postojalo i pri dnu naslovne, ispod foruma. Dakle, još jedan upit manje na naslovnoj.

• Izbačen query sa naslovne koji je dovlačio listu moderatora. Ovo se sada samo poziva ako se prikazuje pojedinačna kategorija, pošto se tamo i prikazuju moderatori pojedinačnih foruma.

[Ovu poruku je menjao Gojko Vujovic dana 23.04.2006. u 23:21 GMT+1]
23.04.2006. u 20:57 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog23.04.2006. u 23:52
• Još jedan query manje na prikazu teme. U pitanju je bilo dovlačenje liste moderatora foruma u kome se tema nalazi, kako bi ispod njihovog imena pisalo Moderator i kako bi im username bio drugačije ofarban. Informacija o moderatorima je sada integrisana u GrabTopicInfo() tako da je ovo moglo da se izbaci uz istu krajnju funkcionalnost i jedan upit bazi manje.

• Izbačen još jedan query sa prikaza teme. U pitanju je bilo dovlačenje dostupnih userlevel-a za korisnike. Ovo se sada dobija preko join-a u upitu koji dovlači ostale podatke o korisnicima.

[Ovu poruku je menjao Gojko Vujovic dana 24.04.2006. u 01:20 GMT+1]

[Ovu poruku je menjao Gojko Vujovic dana 24.04.2006. u 22:52 GMT+1]
23.04.2006. u 23:52 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog24.04.2006. u 00:36
• Izbačen još jedan query sa prikaza teme koji se izvršavao u slučaju kada moderator gleda temu. U pitanju je bilo dovlačenje ID-ja foruma u kome se tema trenutno nalazi, kako bi se isti automatski selektovao u dropdown listi za premeštanje teme. Pa, ID foruma je već dostupan u tom trenutku u aplikaciji tako da nema potrebe da se u funkciji koja prikazuje formular za premeštanje ponovo dovlači ovaj podatak.

• Izbačeno još dva upita sa prikaza teme. Kod koji je dovlačio srodne teme se izvršavao dva puta, jednom za svako prikazivanje na stranici. Dodato keširanje tog sadržaja.

• Izbačen još jedan redudantan upit sa prikaza teme. U pitanju je bilo prikazivanje dropdown liste aktuelnih tema koje se dva puta izvršavalo.

[Ovu poruku je menjao Gojko Vujovic dana 24.04.2006. u 02:54 GMT+1]
24.04.2006. u 00:36 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog24.04.2006. u 01:56
• Izbačen još jedan redudantan upit sa prikaza teme. U pitanju je bilo prikazivanje dropdown liste foruma (Izaberite forum: ... lista).

Poslednje dve izmene su smanjile broj upita i na prikazu foruma, pošto se isti kod koristi za dropdown liste aktuelnih tema i forumjumping.

• Na stranici koja prikazuje markirane teme postojalo je rekonektovanje na bazu. Izbačeno, koristi se glavna konekcija kao i na svim ostalim stranicama.

• Izbačeno redudantno očitavanje kukija i učivanje korisničkih podataka sa stranice sa markiranim temama. 3 upita manje.

[Ovu poruku je menjao Gojko Vujovic dana 24.04.2006. u 03:20 GMT+1]
24.04.2006. u 01:56 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog24.04.2006. u 11:44
• Hmm upravo sam na naslovnoj smanjio broj upita sa ~38 na ~17. (radio se odvojen upit za svaku kategoriju, pa pošto količina podataka nije velika, kombinovao sam to u jedan upit).

• Izbačen još jedan query sa naslovne, koji je dovlačio odnose parent/child foruma (za podforume). Ukombinovano sa drugim upitom.

• Na prikazu kategorije se radio po jedan upit za svaki forum radi provere da li se forum ignoriše ili ne. Sve sam ih izbacio jer je ovaj podatak već dostupan u tom trenutku u aplikaciji. 35% manje upita na prikazu kategorije, tačan broj zavisi od broja foruma u njoj.

[Ovu poruku je menjao Gojko Vujovic dana 24.04.2006. u 13:02 GMT+1]
24.04.2006. u 11:44 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog24.04.2006. u 16:56
Optimizacije:

• Napravio sam novi caching sistem za podatke koji se ne menjaju često, uključujući listu foruma i sve pripadajuće podatke i statistike, listu kategorija, globalne statistike foruma, itd. Deo ovoga se i do sada keširao u bazi (keširanje u smislu ne-računanja pri svakom pozivu stranice), ali sada se to periodično eksportuje kao php struktura koju je dovoljno include-ovati gde je potrebna u aplikaciji. Rezultat je mnogo brži pristup ovim podacima i manje upita ka bazi za podatke koji nisu tako dinamični. Eksportovanje je trenutno na svakih 10 minuta. Sve ovo se može primenjivati na brojnim mestima na sajtu gde su liste foruma i ostali podaci pozivani iz baze. Ujedno sam pročešljao ove strukture i izbacio keširanje nekih nepotrebnih podataka, tako da je data struktura koju je index stranica generisala smanjena i po količini podataka.

• Novo keširanje primenjeno na naslovnoj stranici. Broj query-ja smanjen sa ~16 na ~12.

• Na listi foruma u pojedinačnoj kategoriji sam isključio proveravanje da li u forumu ima nepročitanih poruka kako bi mu folder ikonica bila ofarbana drugom bojom. Ovo mora ponovo da se napiše, pošto je pravilo najmanje jedan query po forumu, možda i više. Ova stranica sada pravi mnogo manji load na bazu, jedino što još nije keširano je lista aktivnih tema. Uradiću i to uskoro.

Feature:

• Dodat prikaz po kategorijama u dropdown listi foruma (jump-to-forum funkcija na prikazu teme i foruma na primer).
• Dodat prikaz po kategorijama u dropdown listi formulara za premestanje teme.

Optimizacije opet:

• Dropdown lista foruma se više ne dovlači iz baze, jedan query manje na stranici koja je prikazuje.
• Izbačen jedan suvišan upit sa stranice za izmenu poruke (provera passworda koja je već obavljena na stranici).
• Izbačen upit sa prikaza teme koji je dovlačio parent/child listu foruma, kako bi u temi prikazao odgovarajuću putanju (Forum :: Podforum :: Tema). Ti podaci su sada dostupni preko novog sistema keširanja.
• Izbačen upit sa prikaza foruma koji je dovlačio parent/child listu foruma, kako bi prikazao odgovarajuću putanju (Forum :: Podforum) i izlistao podforume. Ti podaci su sada dostupni preko novog sistema keširanja.



[Ovu poruku je menjao Gojko Vujovic dana 24.04.2006. u 21:45 GMT+1]
24.04.2006. u 16:56 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog24.04.2006. u 20:49
Optimizacije:

• Izbačen jedan upit (i poziv ka GrabBoardInfo) na svim mestima gde se prikazuju pravila pisanja u forumu (odgovaranje na temu i postavljanje nove teme, koliko vidim za sada). Ovi podaci su sada keširani.
• Izbačen poziv ka GrabUserPass() i GrabUserInfo() na print verziji teme. Ovo je već dostupno u tom trenutku u aplikaciji.
• Izbačena .txt verzija tema. Loš kod, generisao je suviše upita i opterećivao bazu, nema smisla ni sređivati ga. Izbačeni i linkovi ka .txt verziji tema. Verzija za štampu još malo optimizovana po ugledu na originalni tema.php (ne poziva se više GrabUserInfo() za svaku poruku, itd).


[Ovu poruku je menjao Gojko Vujovic dana 24.04.2006. u 22:55 GMT+1]

• Izbačen jedan upit sa prikaza foruma, koji je dovlačio statistike foruma i ostale generalije. Ovo je sada dostupno preko novog sistema keširanja.

[Ovu poruku je menjao Gojko Vujovic dana 24.04.2006. u 23:24 GMT+1]

• Izbačeno dovlačenje tačne stranice na kojoj se poruka nalazi za poruke izlistane u profilu korisnika. Sada se jednostavno koristi direktan link do poruke (es.org/poruka/NN). Sa preko 40 kverija po stranici sada je ispod 15, zavisno od profila, broja poruka, itd.

[Ovu poruku je menjao Gojko Vujovic dana 25.04.2006. u 00:02 GMT+1]
24.04.2006. u 20:49 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog25.04.2006. u 10:45
• Keširanje podataka o forumima dodato i na pretragu (jedan upit bazi manje po stranici obično).

• U formularu na adresi http://www.elitesecurity.org/pretraga dropdown meni sa listom foruma sada prikazuje forume sortirane po kategorijama.

• Izbačen jedan query sa svih stranica ES-a koje su prikazivane registrovanim korisnicima (dodato keširanje podataka o forumima u GrabUserInfo()).

• U poruci o premeštanju teme dodati linkovi ka forumima u kojima se tema nalazila pre i posle premeštanja. (hvala Milanu Anđelkoviću za ideju).

• U dropdown listi za promenu tekućeg foruma biće selektovan forum u kome se trenutno nalazite umesto standardnog teksta "Izaberite forum:".

• Izbačen upit sa svake stranice (na primer sa prikaza teme, pretrage, ...) koji je dovlačio dostupne ikonice ispred poruka. Ovaj podatak je sada keširan. Isto odrađeno i za stranice za pisanje nove poruke, izmenu postojeće, i slične koje koriste ikone.

• Izbačen još jedan upit sa prikaza teme. Za proveru pristupa forumu su se dovlačile privilegije foruma koje su već dostupne u tom trenutku u skripti, tako da je to izbačeno. Sad je oko 22 upita po stranici.

[Ovu poruku je menjao Gojko Vujovic dana 25.04.2006. u 14:27 GMT+1]

• Razlozi brisanja poruka u formularu za brisanje (vidljivo samo moderatorima) su sada takođe keširani. Jedan upit bazi manje na temi.

• Sa naslovne izbačen još jedan query vezan za proveru prava pristupa (za blacklistovane korisnike, itd). Trenutno naslovna generiše oko 10 upita ukupno.

[Ovu poruku je menjao Gojko Vujovic dana 25.04.2006. u 15:24 GMT+1]

• Na prikazu teme ukinut link ka sledećoj / prethodnoj temi. Dešavalo se da bot velikim brojem poziva ka ovoj funkciji blokira mysql. Dok se ne napiše optimizovana verzija, moramo bez ovoga.

[Ovu poruku je menjao Gojko Vujovic dana 25.04.2006. u 22:45 GMT+1]
25.04.2006. u 10:45 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog26.04.2006. u 14:35
ES database server izmene:

• Proširen RAM na 2GB (2 nova kingmax modula x 1GB).

• Zamenjen Linux kernel sa 2.2.20 -> 2.4.x.
26.04.2006. u 14:35 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog27.04.2006. u 22:28
• Onemogućen hotlinking (na osnovu http referer provere) za statički sadržaj na ES-u (thttpd koji sluša na 217.26.67.168). Ovo se još zove i leech protection. Dozvoljen je pristup sadržaju ukoliko je referer sa elitesecurity.org, ili ukoliko nije ni setovan. Rekompajliran thttpd kako bi potpuno bila ukinuta podrška za CGI (security). Njegov www root premešten van ES-ovog www root-a. Sve ovo u sklopu pripreme za novi file upload sistem koji će rešiti trenutne probleme (limit od jednog fajla po poruci, fajlovi se čuvaju u mysql bazi).
27.04.2006. u 22:28 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog28.04.2006. u 22:35
• Dodata podrška za user-selectable css za registrovane korisnike. Dropdown meni za izbor se nalazi pri dnu svake stranice ES-a. Izbor se čuva u sklopu korisničkog profila, na serveru dakle, bez upotrebe cookies. Pajaja i Br@nkor su kreirali prve dopunske stilove za ES, a novi će biti dodavani po potrebi.
28.04.2006. u 22:35 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog29.04.2006. u 18:16
Ponovo napisan i unapređen file upload sistem (kačenje fajlova uz poruke na ES-u):

• Sada je moguće postavljanje većeg broja fajlova uz poruku. Trenutno postoji softverski limit od 7 fajlova po poruci, ali se to u svakom trenutku može menjati ukoliko se za tim pokaže potreba.

• Fajlovi se više ne drže u MySQL bazi. Ovo će ubrzati pristup i skratiti vreme potrebno za dump i backup baze, a samim tim i jutarnji downtime. Svi postojeći fajlovi su jednokratno dump-ovani na novu lokaciju.

• Fajlovi su na www serveru u zasebnom direktorijumu. Servira ih thttpd server sa iste adrese sa koje se serviraju i slike za ES. Hotlinking fajlova je zabranjen proverom referal-a, i dopušta se skidanje fajla jedino u slučaju kada referal nije setovan ili kada klik/poziv ka fajlu dolazi sa elitesecurity.org.

• Limit veličine po fajlu je i dalje 1MB.

• Postoji funkcionalnost brisanja pojedinačnih fajlova bez remećenja ostalih koji su nakačeni uz istu poruku.

• att_url BB tag i dalje funkcioniše tako što pokazuje na poslednji uploadovani fajl. att_img radi na isti način.

• Dodato je i prepoznavanje ekstenzije fajla na prikazu teme i prikaz odgovarajuće ikonice pored imena fajla. Ikonice radio Pajaja!

[Ovu poruku je menjao Gojko Vujovic dana 29.04.2006. u 19:17 GMT+1]
29.04.2006. u 18:16 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog30.04.2006. u 19:46
• Sa prikaza teme i prikaza foruma izbačen po jedan upit ka bazi koji je dovlačio aktuelne teme iz foruma. Ovaj podatak se sada kešira (http://www.elitesecurity.org/cache/aktivne-teme/) i generiše periodično zajedno sa ostalim keširanim podacima.
30.04.2006. u 19:46 

flylord
Ilić Aleksandar
Freedomia (direktor)
Nis/Uzice

Tehnički konsultant
Član broj: 2954
Poruke: 3572
..nis1-nis.customer.sbb.co.yu.

Jabber: flylord@elitesecurity.org
ICQ: 4849714
Sajt: blog.itseminar.org


Profil

icon Re: ES server + code changelog01.05.2006. u 00:18
Korisnicki profil prebacen na Smarty.
Prebacicemo vremenom (skorije) ceo [es] na Smarty templejtove.

[Ovu poruku je menjao flylord dana 01.05.2006. u 01:33 GMT+1]
01.05.2006. u 00:18 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog01.05.2006. u 21:57
• Dodat preview prve poruke u temi na prikazu foruma, na onMouseOver event na linku svake teme. Prikazuje se previh 80 karaktera poruke.

[Ovu poruku je menjao Gojko Vujovic dana 01.05.2006. u 22:58 GMT+1]
01.05.2006. u 21:57 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog03.05.2006. u 23:53
AJAX po prvi put na na ES-u!

• Na prikazu teme, ukoliko ne postoji lista srodnih tema u bazi, putem ajax-a je omogućeno jednokratno generisanje ove liste za pomenutu temu i ispisivanje u stranici bez osvežavanja cele strane. Pri sledećoj poseti, korisnici će dobijati već generisane srodne teme, tako da je upotreba ajax-a u ovom slučaju jednokratna. Ako želite da isprobate funkcionalnost, pronađite neku temu bez prikazanih srodnih tema.
03.05.2006. u 23:53 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog04.05.2006. u 00:13
• Dodato kompletno parsiranje poruka u preview-u na forumu. Ovo znači da će se sada pravilno prikazivati tagovi, slike, i ostalo što se nađe u prvih 150 karaktera poruke za koju se radi preview.
04.05.2006. u 00:13 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog04.05.2006. u 17:09
AJAX again.

• Izmena poruke je sada ajax-based i obavlja se bez refreshovanja cele stranice.


[Ovu poruku je menjao Gojko Vujovic dana 21.05.2006. u 22:52 GMT+1]
04.05.2006. u 17:09 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13173
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: ES server + code changelog21.05.2006. u 21:55
• Moderatorski formular za premeštanje teme se sada učitava na ajax principima.

• Pri postavljanju nove teme, obavlja se pretraga postojećih tema po ključnim rečima iz unetog naslova nove teme, i prikazuje lista 10 najrelevantnijih rezultata (mysql fulltext pretraga). Takođe se prikazuje mali "grafikon relevantnosti" pored imena teme koja je "slična" novoj koja još uvek nije postavljena. Ovo bi trebalo da smanji broj ponovljenih tema za korisnike koji nisu pretražili forum pre postavljanja nove teme. Učitavanje liste sličnih tema je odrađeno AJAXom, bez osvežavanja stranice.


[Ovu poruku je menjao Gojko Vujovic dana 21.05.2006. u 23:07 GMT+1]
21.05.2006. u 21:55 

[es] :: Vesti :: ES server + code changelog
(HARDTOP topic, by Gojko Vujovic)
Strane: < .. 1 2 3 4

[ Pregleda: 11028 | Odgovora: 69 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.