ugrás a tartalomhoz

Archívum - Feb 10, 2009 - Fórum téma

Nagy táblázat gyors megjelenítése

krisy · 2009. Feb. 10. (K), 22.02
Sziasztok!

Egy nagy, körülbelül 1000 soros, 15 oszlopos táblázatot szeretnék megjeleníteni, úgy 3-5 mp alatt.

Ez úgy elsőre kicsit mission impossibble-nek tűnik számomra :-(
Alternatívaként felmerült, hogy az oldal betöltésekor mondjuk csak az első 100 sor jönne le, a többi a háttérben AJAX-szal töltődne.

Nem ismertek erre valami más/jobb/egyszerűbb megoldást?
(persze azon kívül, hogy használjak lapozót, illetve ne így csináljam :-) )

Köszi!
 

Érdekes kiszolgálói jelenség

s_volenszki · 2009. Feb. 10. (K), 22.02
Tapasztaltam mostanság egy érdekes jelenséget, kutatom az okát, de egyenlőre még nem sok mindent találtam. Kérlek titeket osszátok meg velem, ha van tapasztalatok, ötletetek a témában!

Apache webszerveren viszonylag sokszor, úgy 10 oldalbetöltődésből egyszer, bekövetkezik egy gyakran 5-10 másodperces letöltődési idő. A jelenség úgy néz ki, hogy a kattintás után a böngésző nem csinál semmit vagy 4-8 másodpercig, majd megindul és kb. 1 másodperc alatt betölti az oldalt.

Tettem egy mérő kódot a front controller-be és kiegészítettem a log táblát egy amolyan oldalgenerálási idő mezővel. Indítottam egy Wiresharkot meg egy YSlow-t és elkezdtem egymás után ugyanarra a hivatkozásra kattintani.

Katt, várok míg az oldal letöltődik, aztán ugyan oda megint katt és megint várok...

Egy átlagos letöltődés kb.: 0.3-0.9 másodperc és az ehhez tartozó oldal generálásához szükséges idő: 0.005 - 0.3 másodperc között mozog.

Amikor a 10 letöltődésből egyszer előfordul a "beragadás", akkor a következő adataim vannak:

letöltődés kb.: 4.4-8.9 másodperc és az ehhez tartozó oldal generálásához szükséges idő változatlanul: 0.005 - 0.3 másodperc között mozog.

A következőket próbáltam még, ami elég érdekes eredményt hozott.

Készítettem egy sima html fájlt, értelem szerűen, most már csak a Wireshark-ra és a YSlow-ra támaszkodva. Adatok:

Letöltődés: 0.03-0.08 másodperc között "beragadás" nélkül.

Ezek után készítettem egy műveletek nélküli php fájlt és láss csodát! Kb a 6. letöltődésre produkált egy 5.93 másodperces időt!

Mi lehet itt a bibi?
 

jogosultságkezelés view-ban?

Szekeres Gergő · 2009. Feb. 10. (K), 15.45
tudom, hogy számtalan topic létezik mvcvel kapcsolatban, engem viszont konkrétan az adott probléma megoldása érdekel:

vegyünk példának egy egyszerű listát, ahol a rendszerben található felhasználók jelennek meg. Legyen mondjuk 1, 2 illetve 3as jogosultsági szint, mindenki az alatta lévőeket törölheti. belépünk mondjuk a 2es szintű userrel, így a listában meg kellene jelennie egy törlés ikonnak mindenkinél, aki 1es szinten van. Ez kinézhet a következőképpen (egyszerüsítve):

 //controller
 class UserController {
   public function list() {
     $users = new userHandling();
     $users->Get();
     $view = new View("userlist");
     $view->users = $users;
     $view->user = new auth();
   }
 }

 //view
 foreach($users as $u) {
  if($u->level < $user->level)
   echo 'törlésikon';
 }
letöltjük az adatokat, átadjuk a modellt a viewnak ami végigmegy az indexelt objektumon, és ellenőriz minden sorban.

Ez akár még jó is lehet, hogy ha egy státuszt kell figyelni, de nincs valami módszer arra, hogy a viewból kivegyük az authorizációs részeket? Ennek szerintem a modellben lenne a helye, de a gyarkolatban mennyire megvalósítható egy ilyen megoldás? Ti hogy csináljátok?