Archívum - Feb 10, 2009 - Fórum téma
Nagy táblázat gyors megjelenítése
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!
■ 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
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?
■ 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?
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):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?
■ 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';
}
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?