<$BlogRSDUrl$>

Sunday, January 18, 2004

Senarai yg dipaparkan guna ww tu menggunakan action yg mengambil senarai dpd db. Bila direfresh berkali2, secara keseluruhannya, performance nye antara 30ms ke 70ms. DB saya guna mysql.

Utk meningkatkan kelajuannya, saya guna aspect cache. Implementation pertama ialah cache yg teramat la mudahnya iaitu menggunakan java.util.Map, implementation java.util.HashMap. Jika map ini null, ambil dpd db dan simpan satu salinan dlm map. Jika map ini dah berisi, ambil dan guna. Hasilnya, kelajuan sistem meningkat kpd antara 0ms kpd 10ms. Yes!

Tapi, implementation cache ini bermasalah kalau db diupdatekan, krn cache yg telah diisi tu, tak akan diupdatekan juga. So, saya guna lib shiftone-cache, ver 1.2
sebagai cache implementation baru utk aspect cache saya. Saya set supaya cache ini 'expire' atau flush isi cache nye setiap 30 saat. Hasilnya, selagi isi dlm cache belum dibuang, saya dapat kelajuan antara 0ms ke 10ms dan isi cache ini masih terkini, paling lewat dlm tempoh 30 saat. Satu balance yg baik.

Oh, ya. Satu lagi point yg saya nak nyatakan ialah, penambahan aspek cache kpd code asal adalah amat kemas sekali. Nak ubah dpd cache mudah kpd cache yg lebih dasat pun teramat la mudah dan kemasnya. Penambahan aspek cache ni kpd code asal, memakan masa tak lebih dpd 15 minit je utk kedua2nya. Ni tak termasuk belajar cara guna cache shiftone tersebut, dll yg tiada kaitan dgn AOP.

Nampak jelas kat mana nak guna AOP ni. Amat jelas. Semoga saya semakin 'nampak' lagi dan lagi kat mana kesesuaian AOP ni. Yes! Allah Maha Besar!!!

Comments: Post a Comment

This page is powered by Blogger. Isn't yours?