BAB 4 IMPLEMENTAS I DAN EVALUAS I
4.1
Rancangan Layar Berdasarkan usulan pemecahan masalah pada bab 3 di atas, maka akan dibuatkan sebuah alat bantu (aplikasi) bernama Analysis and File Tuning Optimation dengan rancangan layar sebagai berikut :
Gambar 4. 1 Rancangan layar Performance Analysis
Gambar di atas adalah gambar rancangan layar yang akan menjadi layar utama dalam melakukan analisis terhadap tabel-tabel yang ada dalam sebuah
73
basis data dan memberikan rekomendasi pada user supaya peningkatan basis data dapat dilakukan sesuai dengan hasil rekomendasi.
Gambar 4. 2 Rancangan layar Physical File Allocation
Setelah mendapat hasil rekomendasi pada layar Performance Analysis dan ingin melakukan tuning, maka user akan mendapat tampilan layar seperti gambar 4.2 di atas. Pada layar ini semua tabel yang akan dipindahkan akan ditampilkan dalam tabel di atas dan user harus memasukkan nama file dan filegroup baru yang akan dibuat sehingga tabel-tabel tersebut bisa dipindahkan.
4.2
Implementasi Berikut ini adalah rancangan arsitektur dari aplikasi tuning yang akan dibuat dalam skripsi ini. 74
Gambar 4. 3 Arsitektur aplikasi Analysis and File Tuning Optimation
Berdasarkan arsitektur aplikasi di atas, maka dapat dilihat bahwa aplikasi yang akan dibuat dapat mengintegrasikan fungsi dari SQL Server Profiler dan Database Tuning Advisor. Hal ini dapat dilakukan karena aplikasi yang dibuat akan menggunakan hasil keluaran dari SQL Server Profiler (berupa tabel) dan juga dapat menganalisis tabel-tabel yang sudah diberi index maupun yang belum diberi index oleh Database Tuning Advisor sehingga menjadi sebuah tabel untuk dianalisis lebih lanjut. M elalui trace table yang ada, aplikasi tuning fiskal akan menganalisis setiap query yang terdapat di dalam trace table sehinga menghasilkan beberapa rekomendasi terhadap tabel yang perlu di-tuning. Untuk menjalankan aplikasi alat bantu tuning fisikal basis data pada SQL Server 2008, user harus mempunyai data yang berisi histori query-query yang pernah dijalankan. Data tersebut dapat diperoleh dengan menjalankan SQL 75
Server Profiler sebelum menjalankan query-query tersebut. Dengan demikian semua data query akan tersimpan dalam sebuah tabel, yang ditentukan oleh user, dan bisa digunakan sebagai data awal dalam melakukan analisis dengan aplikasi ini. Untuk menjalankan SQL Profiler bisa melalui Start -> All Program -> M icrosoft SQL Server 2008 -> Performance Tools -> SQL Server Profiler, atau melalui Start -> Run dan menuliskan “PROFILER”. Pada awalnya program akan menampilkan window seperti berikut:
Gambar 4. 4 Form SQL Server Profiler
Setelah form SQL Server Profiler terbuka, maka user bisa memulai menjalankan SQL Server Profiler untuk mendapatkan histori query dengan cara 76
memilih menu File -> New Trace atau dengan menekan Ctrl + N. Setelah itu, user akan diminta untuk melakukan koneksi terhadap server yang dikehendaki oleh user seperti pada gambar berikut:
Gambar 4. 5 Form koneksi ke server
Setelah form terbuka, user bisa langsung melakukan koneksi pada basis data yang akan dianalisis. Setelah user menekan tombol Connect, program akan menampilkan form seperti berikut:
77
Gambar 4. 6 Form Trace Properties(1)
Pada tampilan ini user harus memilih “Save to table” untuk menyimpan data yang akan dianalisis pada sebuah tabel pada basis data yang juga ditentukan oleh user. Setelah memilih “Save to table”, maka aplikasi akan menampilkan form seperti berikut:
78
Gambar 4. 7 Form trace tujuan Pada form ini user harus memilih tabel untuk menyimpan data yang akan dianalisis. Tabel tersebut tidak harus tabel yang sudah ada. Apabila ingin membuat sebuah tabel baru, user hanya perlu memasukan nama tabel yang akan menyimpan data analisis tersebut pada bagian “Table”. Selanjutnya user menekan tombol “OK”, maka kembali ke form Trace Properties.
Gambar 4. 8 Form Trace Properties(2)
Form ini menampilkan informasi mengenai basis data dan tabel yang telah dipilih oleh user. Apabila data-data tersebut sudah benar dan sesuai dengan yang telah diisi pada form sebelumnya, maka user menekan tombol “Run”. Setelah itu user sudah bisa menjalankan query-query yang menjadi sumber data yang dianalisis. 79
Apabila data-data tersebut siap untuk dianalisis, maka user menjalankan aplikasi alat bantu tuning fisikal basis data pada SQL Server 2008. Pada saat menjalankan aplikasi ini, maka program akan menampilkan form seperti berikut:
Gambar 4. 9 Form Performance Analysis(1)
Pada bagian “Session”, user memasukkan nama session yang akan dianalisis. Pada bagian “Database”, user memasukkan basis data yang akan dianalisis. Sedangkan pada bagian “Resource Trace Table”, user harus memasukkan basis data dan tabel, yang telah dimasukan pada saat pertama kali 80
menjalankan SQL Server Profiler. Sebelum melakukan analisis, user harus menjalankan SQL Server Profiler sekali lagi dan melakukan hal yang sama seperti yang telah dijelaskan di atas. Tetapi user harus menyimpan datanya pada tabel yang berbeda. Setelah tabel yang baru selesai dibuat, maka user harus memasukkan basis data dan tabel yang baru tersebut pada bagian “Destination Trace Table”. Tombol “SQL Profiler” dapat digunakan untuk menjalankan SQL Server Profiler secara langsung. Setelah data tersebut diisi, maka analisis dapat dilakukan dengan menekan tombol “Analyze”. Pada saat tombol “Analyze” ditekan maka aplikasi akan berjalan dengan urutan sebagai berikut:
81
Gambar 4. 10 Flowchart proses analisis Berikut penjelasan gambar 4. 10 di atas: 1. M elakukan analisis berdasarkan data yang terdapat dalam tabel, yang merupakan hasil keluaran SQL Server Profiler, yang sebelumnya telah diisi oleh user untuk menentukan tabel-tabel apa saja yang perlu dipindahkan ke dalam file system yang berbeda, guna meningkatkan kinerja sistem basis data. 2. M embuat sebuah temporary file system yang baru (file dan filegroup). 3. M emindahkan tabel-tabel hasil analisis awal ke dalam file system yang baru dibuat. 82
4. M elakukan
analisis
kinerja basis
data setelah
tabel-tabel tersebut
dipindahkan ke dalam temporary file system. 5. M emindahkan kembali tabel-tabel yang sudah dipindahkan ke dalam file system awal. 6. M enghapus temporary file system. 7. M elakukan analisis kembali terhadap kinerja basis data. 8. M embandingkan hasil pada langkah keempat dan ketujuh. 9. M enghasilkan rekomendasi berdasarkan analisis-analisis di atas, mengenai tabel mana yang sebaiknya dipindahkan ke dalam file system yang berbeda dengan tabel-tabel lainnya dalam basis data. Setelah analisis selesai dilakukan, maka aplikasi akan menampilkan tampilan seperti berikut:
83
Gambar 4. 11 Form Performance Analysis(2)
Untuk melakukan tuning, user harus memilih pada hasil rekomendasi tabel-tabel apa saja yang ingin dipindahkan dan menekan tombol “Perform Tuning”. Apabila user menekan tombol “Perform Tuning”, maka aplikasi akan menampilkan tampilan seperti berikut:
84
Gambar 4. 12 Form Physical File Allocation
Tombol “Browse” digunakan untuk mencari direktori tempat menyimpan file system yang akan dibuat. Dengan menekan tombol “Execute”, maka aplikasi akan berjalan sebagai berikut :
85
Gambar 4. 13 Flowchart proses tuning Berikut adalah penjelasan gambar 4. 13 di atas : 1. M embuat sebuah filegroup “SECONDARY” secara otomatis sesuai dengan apa yang diisi oleh user pada kolom “Filegroup” 2. M embuat file bernama “AdventureWorks2008_Secondary.ndf” yang diletakkan pada direktori yang telah diisi oleh user seperti tampak pada gambar 4.12. 3. M emindahkan tabel-tabel yang ada pada list ke dalam file system yang baru dibuat. Tombol “Back” digunakan untuk kembali pada form sebelumnya, sedangkan tombol “Exit” digunakan untuk menutup aplikasi.
4.3
Evaluasi Evaluasi dilakukan dengan menjalankan aplikasi yang sudah dibuat dan menganalisis tabel Test_Trace_1. Hasil yang didapat adalah sebagai berikut:
86
Gambar 4. 14 Evaluasi pada tabel Test_Trace_1
Setelah analisis dilakukan pada tabel Test_Trace_1, maka dihasilkan rekomendasi untuk memindahkan tabel BussinessEntityAddress pada file system yang
berbeda.
Sebelum
tabel
benar-benar
dipindahkan
(tabel
BussinessEntityAddressTest01), maka query1 di bawah ini dijalankan sebanyak sepuluh kali dan diambil waktu responnya untuk dijadikan perbandingan dengan yang sudah dipindahkan (tabel BussinessEntityAddressTest02). Select * from Person.BussinessEntityAddressTest01 87
Setelah mendapatkan data dari percobaan di atas, maka berikutnya adalah memindahkan tabel yang dilakukan dengan menekan tombol “Perform Tuning”. Aplikasi akan menampilkan tampilan sebagai berikut :
Gambar 4. 15 M emindahkan tabel BussinessEntityAddress
Setelah mengisi filegroup, filename, dan filepath, maka berikutnya hanya perlu
menekan
tombol
“Execute”
BussinessEntityAddress tersebut.
88
untuk
memindahkan
tabel
Gambar 4. 16 Pemindahan tabel BussinessEntityAddress selesai
Setelah tabel BussinessEntityAddress selesai dipindahkan, maka evaluasi dilakukan dengan menjalankan query2 berikut sebanyak sepuluh kali dan mengambil
waktu
responnya
serta
membandingkannya
dengan
hasil
sebelumnya. Select * from Person.BussinessEntityAddressTest02
Berikut adalah tabel yang menunjukkan perbandingan dua percobaan di atas. Tabel BussinessEntityAddressTest01 adalah tabel BussinessEntityAddress yang belum dipindahkan ke dalam file system yang baru, sedangkan tabel BussinessEntityAddressTest02 adalah tabel BussinessEntityAddress yang sudah
89
dipindahkan ke dalam file system yang baru (untuk lebih jelasnya lihat gambar 145-164 pada halaman lampiran L145-L164) :
Tabel 4. 1 Tabel perbandingan antara tabel BussinessEntityAddressTest01 dan BussinessEntityAddressTest02 Tabel Tabel Percobaan BussinessEntityAddressTest01 BussinessEntityAddressTest02 Query Waktu(Detik) Query Waktu(Detik) 1 32 33 2 33 32 3 33 32 4 32 32 5 Query1 33 Query2 32 6 32 32 7 33 32 8 32 32 9 33 32 10 32 32 Rata-rata 32,5 32,1
90
Grafik 4. 1 Grafik perbandingan antara tabel BussinessEntityAddressTest01 dan BussinessEntityAddressTest02 Angka-angka di atas menunjukkan waktu respon dari setiap query yang dijalankan. Dapat dilihat bahwa dari hampir semua percobaan, waktu untuk menjalankan query pada tabel BussinessEntityAddressTest02 lebih cepat dibandingkan tabel BussinessEntityAddressTest01. Rata-rata waktu query yang dijalankan
pada tabel BussinessEntityAddressTest02
juga lebih
cepat
dibandingkan tabel BussinessEntityAddressTest01. Dari data di atas dapat dilihat juga bahwa rata-rata waktu yang diperlukan untuk menjalankan query pada tabel BussinessEntityAddressTest01 adalah 32.5 detik dan waktu yang diperlukan untuk menjalankan query pada tabel BussinessEntityAddressTest02 adalah 32.1 detik. Dengan demikian terjadi peningkatan sebesar 1.3%. Hal ini membuktikan bahwa peningkatan kinerja basis data dapat dilakukan dengan memindahkan tabel ke dalam file system yang baru (dapat dilihat pada halaman 44,50,53,57,61,67 dan 69). Dengan demikian dapat dibuktikan bahwa aplikasi yang sudah dibuat dapat berjalan dengan baik dan sesuai dengan tujuan awalnya.
91