Penyesuaian Performansi

Performansi aplikasi Web dipengaruhi oleh banyak faktor. Akses database, operasi sistem file, bandwidth jaringan adalah faktor pengaruh potensial. PRADO mencoba dalam setiap usaha untuk mengurangi akibat performansi yang disebabkan oleh kerangka kerja.

Caching

PRADO menyediakan teknik cache generik yang dipakai oleh beberapa bagian inti kerangka kerja. Sebagai contoh, ketika cache dihidupkan, TTemplateManager akan menyimpan template yang diurai dalam cache dan menggunakannya kembali dalam permintaan berikut, yang menghemat waktu penguraian template. TThemeManager mengadopsi strategi yang mirip untuk berhadapan dengan penguraian tema.

Menghidupkan cache sangat mudah. Cukup tambahkan modul cache dalam konfigurasi aplikasi, dan PRADO memelihara semuanya.

<modules> <module id="cache" class="System.Caching.TSqliteCache" /> </modules>

Para pengembang juga bisa mengambil keuntungan dari teknik cache dalam aplikasinya. Properti Cache dari TApplication mengembalikan modul cache yang dimasukan bila ia tersedia. Untuk menyimpan dan mengambil item data dari dalam cache, gunakan perintah berikut,

if($application->Cache) { // menyimpan item data ke cache $application->Cache->set($keyName,$dataItem); // mengambil item data dari cache $dataItem=$application->Cache->get($keyName); }

di mana $keyName harus berupa string yang secara unik mengidentifikasi item data yang disimpan dalam cache.

Sejak v3.1.0, kontrol baru bernama TOutputCache telah diperkenalkan. Kontrol ini membolehkan para pengguna untuk men-cache bagian-bagian dari output halaman. Bila dipakai dengan benar, teknik ini bisa meningkatkan performansi halaman secara signifikan karena kontrol di dalamnya tidak dibuat sama sekali jika versi yang di-cache diminta.

Menggunakan pradolite.php

Banyak file naskah PHP yang disertakan dapat mempengaruhi performansi aplikasi secara signifikan. Kelas PRADO disimpan dalam file berbeda dan ketika memproses sebuah permintaan halaman, ia bisa menyertakan puluhan file kelas. Untuk mengurangi masalah ini, setiap rilis PRADO, sebuah file bernama pradolite.php juga disertakan. File ini adalah gabungan dari seluruh file kelas inti PRADO dengan komentar dan pencatatan pesannya yang sudah dibuang.

Untuk menggunakan pradolite.php dalam naskah entri aplikasi, ganti penyertaan prado.php dengan pradolite.php.

Mengubah Mode Aplikasi

Mode aplikasi juga mempengaruhi performansi aplikasi. Aplikasi PRADO dapat berupa salah satu dari mode berikut: Off, Debug, Normal dan Performance. Mode Debug harus dipakai terutama selama pengembangan aplikasi, sementara mode Normal biasanya dipakai dalam tahap berikutnya setelah aplikasi disebarkan guna memastikan semuanya berjalan dengan baik. Setelah aplikasi terbukti bekerja stabil, selanjutnya mode bisa dialihkan ke Performance untuk meningkatkan performansi.

Perbedaan antara mode Debug, Normal dan Performance yaitu di bawah mode Debug, catatan aplikasi akan berisi informasi debug, dan di bawah mode Performance, pemeriksaan cap waktu tidak dilakukan untuk template yang di-cache dan asset yang dipublikasikan. Oleh karena itu, di bawah mode Performance, aplikasi mungkin tidak berjalan dengan baik jika template atau asset dimodifikasi. Karena mode Performance dipakai terutama saat aplikasi sudah stabil, mengubah template atau asset tidak disukai.

Untuk berganti mode aplikasi, konfigurasi itu dalam konfigurasi aplikasi:

<application Mode="Performance" > ...... </application >

Mengurangi Ukuran Halaman

Standarnya PRADO menyimpan kondisi halaman dalam field tersembunyi dari output HTML. Kondisi halaman bisa berukuran sangat besar jika menggunakan kontrol yang kompleks, seperti TDataGrid. Guna mengurangi ukuran besarnya halaman yang dikirimkan melalui jaringan, dua strategi dapat dipakai.

Pertama, Anda dapat mematikan kondisi tampilan dengan menyetel EnableViewState menjadi false untuk halaman atau beberapa kontrol pada halaman jika pengguna tidak perlu berinteraksi dengan halaman/kontrol.

Kedua, Anda bisa menggunakan penyimpanan kondisi halaman berbeda. Sebagai contoh, kondisi halaman bisa disimpan dalam sesi, yang menyimpan kondisi halamaa terutama pada sisi server dan menghemat waktu transmisi jaringan. Properti StatePersisterClass dari halaman menentukan kelas persisten kondisi yang dipakai. Standarnya menggunakan System.Web.UI.TPageStatePersister untuk menyimpan kondisi persisten dalam field tersembunyi. Anda bisa mengubah properti ini ke kelas persisten Anda sendiri, selama kelas persister menerapkan antarmuka IPageStatePersister. Anda dapat mengkonfigurasi properti ini dalam beberapa tempat, seperti konfigurasi aplikasi atau konfigurasi halaman menggunakan tag <pages> or <page>,

<pages StatePersisterClass="MyPersister1" ... > <page ID="SpecialPage" StatePersisterClass="MyPersister2" ... /> </pages>

Catatan, dalam SpecialPage di atas akan menggunakan MyPersister2 sebagai kelas persisternya, sementara halaman lainnya akan menggunakan MyPersister1. Oleh karena itu, Anda dapat memiliki strategi perister kondisi untuk halaman yang berbeda.

Teknik Lainnya

Teknik cache server terbukti sangat efektif meningkatkan performansi aplikasi PRADO. Sebagai contoh, kita telah mengamati bahwa dengan menggunakan Zend Optimizer, RPS (request per second) dari aplikasi PRADO bisa meningkat lebih dari sepuluh kali. Tentunya, ini merupakan harga dari output yang stabil, sementara teknik cache PRADO selalu memastikan kebenaran output.

$Id: Performance.page 1902 2007-05-07 04:17:37Z wei $