summaryrefslogtreecommitdiff
path: root/demos/blog-tutorial/protected/pages/Day5/id/Performance.page
blob: 62a195b33c9e3e49bf5ec9b028663fc58d50f298 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<com:TContent ID="Main">

<h1>Penyesuaian Performansi</h1>

<p>
Sebelum kita menyebarkan sistem blog, kita ingin menyesuaikan performansi sistem.
</p>

<h2>Mengubah Mode Aplikasi</h2>

<p>
Aplikasi PRADO dapat dikonfigurasi untuk berjalan dalam mode berbeda. Standarnya, ia berjalan dalam mode debug yang membuat banyak catatan pesan dan seandainya ada kesalahan, menampilkan pangilan stack lengkap atas tempat kesalahan. Perilaku demikian lebih disukai selama pengembangan, tapi tidak jika sistem sudah dalam produksi. Untuk mengubah mode aplikasi dari <tt>Debug</tt> ke <tt>Normal</tt> (berarti mode produksi), kita memodifikasi konfigurasi aplikasi seperti berikut:
</p>

<com:TTextHighlighter CssClass="source" Language="xml">
<?xml version="1.0" encoding="utf-8"?>
<application id="blog" mode="Normal">
    ......
</application>
</com:TTextHighlighter>

<h2>Menghidupkan Cache</h2>

<p>
Ada banyak pekerjaan penguraian terkait dalam sebuah aplikasi PRADO: konfigurasi XML, template, tema, skin, dll. Untuk setiap permintaan pengguna, PRADO perlu melakukan ulang penguraian. Untuk menghemat usaha ini, kita dapat menghidupkan cache. Untuk melakukannya, kita mengubah konfigurasi aplikasi seperti berikut,
</p>

<com:TTextHighlighter CssClass="source" Language="xml">
......
<modules>
    ......
    <module id="cache" class="System.Caching.TDbCache" />
    ......
</modules>
......
</com:TTextHighlighter>

<p>
Sekarang setelah mengakses setiap halaman dalam sistem blog kita, kita akan dapat menemukan file bernama <tt>sqlite3.cache</tt>. Ini adalah file database yang memelihara template halaman yang diuraikan, konfigurasi, dll.
</p>

<com:InfoBox>
Modul cache yang baru kita hidupkan menggunakan database sebagai medium cache persisten. PRADO juga mempunyai modul cache lain yang menggunakan medium cache lebih cepat, seperti misalnya <tt>TMemCache</tt>, <tt>TAPCCache</tt>. Diperlukan instalasi dari ekstensi PHP terkait.
</com:InfoBox>


<h2>Menggunakan <tt>pradolite.php</tt></h2>

<p>
Menjalankan halaman PRADO melibatkan puluhan file PHP, yang dapat menghabiskan waktu. File-file ini juga membawa banyak komentar untuk membuat dokumentasi APU ramah-pengguna. Untuk mengurangi beban ini, kita memodifikasi <tt>index.php</tt> dan mengganti inklusi <tt>prado.php</tt> dengan <tt>pradolite.php</tt>. Yang kedua adalah file besar yang dibuat dengan menggabung file kode tertentu dan membuang komentar. Selanjutnya kita bisa mengubah <tt>index.php</tt> seperti berikut,
</p>

<h2>Teknik Lain</h2>

<p>
Ada teknik lain untuk meningkatkan performansi lebih lanjut terhadap aplikasi PRADO. Berdasarkan pengalaman kami, salah satu lubang botol dalam aplikasi Web adalah database tier. Query database seringkali membutuhkan waktu lama untuk menyelesaikannya, yang memperlambat waktu respon terhadap permintaan sebuah halaman. Cache adalah solusi utama untuk masalah ini. Modul cache yang dihidupkan dalam konfigurasi aplikasi kita juga bisa dipakai untuk keperluan ini.
</p>

<p>
Untuk halaman yang relatif stabil dan jarang diakses, <a href="http://www.pradosoft.com/demos/quickstart/?page=Controls.OutputCache">output caching</a> bisa dipertimbangkan. Output caching melakukan cache output HTML dari bagian yang dipilih pada sebuah halaman. Ini dapat meningkatkan performansi dari halaman yang di-cache secara signifikan.
</p>

<p>
Teknik cache server terbukti sangat efektif dalam meningkatkan performansi atas aplikasi PRADO. Sebagai contoh, kita telah mengamati bahwa dengan menggunakan Zend Optimizer, RPS (request per second) dari aplikasi PRADO bisa ditingkatkan lebih dari sepuluh kali lipat. Tentu saja, ini pada beban dari output lama, sementara teknik cache PRADO selalu memastikan kebenaran dari output.
</p>

</com:TContent>