PEMBUATAN TOOLS PEMANTAUAN KINERJA BASIS DATA SQL SERVER BERBASIS WEB (STUDI KASUS: PANTAU.ITS.AC.ID) DEVELOPMENT OF WEB-BASE SQL SERVER DATABASE PERFORMANCE MONITORING TOOLS (CASE STUDY: PANTAU.ITS.AC.ID)
TUGAS AKHIR
- – KS141501
PEMBUATAN TOOLS PEMANTAUAN KINERJA BASIS
DATA SQL SERVER BERBASIS WEB (STUDI KASUS:
PANTAU.ITS.AC.ID)
DEVELOPMENT OF WEB-BASE SQL SERVER DATABASE PERFORMANCE MONITORING TOOLS (CASE STUDY: PANTAU.ITS.AC.ID) ERWIN WILBERT MAPALIEY NRP 5212 100 094 Dosen Pembimbing Radityo Prasetianto Wibowo, S.Kom.,M.Kom. JURUSAN SISTEM INFORMASI Fakultas Teknologi Informasi
TUGAS AKHIR – KS141501
PEMBUATAN TOOLS PEMANTAUAN KINERJA
BASIS DATA SQL SERVER BERBASIS WEB
(STUDI KASUS: PANTAU.ITS.AC.ID) ERWIN WILBERT MAPALIEY NRP 5212 100 094 Dosen Pembimbing Radityo Prasetianto Wibowo, S.Kom.,M.Kom.JURUSAN SISTEM INFORMASI Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 2017
FINAL PROJECT – KS141501
DEVELOPMENT OF WEB-BASE SQL SERVER
DATABASE PERFORMANCE MONITORINGTOOLS (CASE STUDY: PANTAU.ITS.AC.ID)
ERWIN WILBERT MAPALIEY NRP 5212 100 094 Supervisor Radityo Prasetianto Wibowo, S.Kom.,M.Kom.
INFORMATION SYSTEMS DEPARTMENT Faculty of Information Technology Tenth Nopember Institute of Technology Surabaya 2017
LEMBAR PENGESAHAN
PEMBUATAN TOOLS PEMANTAUAN KINERJA
BASIS DATA SQL SERVER BERBASIS WEB
(STUDI KASUS: PANTAU.ITS.AC.ID)
TUGAS AKHIR
Disusun untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer pada
Jurusan Sistem Informasi Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember Oleh:
ERWIN WILBERT MAPALIEY
5212 100 094
Surabaya, Juli 2017
KEPALA
DEPARTEMEN SISTEM INFORMASI
LEMBAR PERSETUJUAN
PEMBUATAN TOOLS PEMANTAUAN KINERJA
BASIS DATA SQL SERVER BERBASIS WEB
(STUDI KASUS: PANTAU.ITS.AC.ID)
TUGAS AKHIR
Disusun untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer pada
Jurusan Sistem Informasi Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember Oleh:
ERWIN WILBERT MAPALIEY
5212 100 094
Disetujui Tim Penguji : Tanggal Ujian : 7 Juli 2017 Periode Wisuda : September 2017
Radityo Prasetianto W, S.Kom., M.Kom. (Pembimbing I)
Faizal Johan Atletiko, S.Kom., M.T. (Penguji I)
PEMBUATAN TOOLS PEMANTAUAN KINERJA
BASIS DATA SQL SERVER BERBASIS WEB
(STUDI KASUS: PANTAU.ITS.AC.ID)
Nama Mahasiswa : Erwin Wilbert MapalieyNRP : 5212 100 094 Jurusan : Sistem Informasi Dosen Pembimbing : Radityo Prasetianto W, S.Kom., M.Kom.
ABSTRAK
Basis data merupakan teknologi yang sudah menjadi bagian
penting bagi suatu organisasi maupun pelaku bisnis. Basis data
merupakan kumpulan data yang disimpan di dalam komputer
secara sistematis sehingga mudah diakses, dikelola, dan
diperbarui. Secara umum, terdapat tiga aktor utama dalam
penggunaan basis data, yaitu administrator basis data (DBA),
satu atau lebih pengembang aplikasi, dan pengguna. Seorang
administrator basis data bertugas untuk mengatur seluruh
aktivitas yang berkaitan dengan optimalisasi kinerja basis data.
Salah satu cara untuk menentukan apakah basis data sudah
bekerja secara optimal adalah dengan melakukan pemantauan
kinerja basis data. Beberapa vendor DBMS sudah menyediakan
tools ini yang sudah termasuk di dalam produk yang mereka
sediakan. Selain itu, ada pihak luar yang menyediakan tools
pemantauan kinerja basis data ini secara terpisah dan
mendukung multi-platform.Insitut Teknologi Sepuluh Nopember (ITS) memiliki sebuah
sistem berbasis web yang berfungsi untuk memantau seluruh
aktivitas aplikasi yang digunakan di lingkungan ITS termasuk
basis data, yang memiliki alamat pantau.its.ac.id. Akan tetapi
belum terdapat fungsi pemantauan yang memberikan informasi
membuat tools pemantauan kinerja basis data berbasis web
untuk diimplementasikan pada sistem pantau.its.ac.id sehingga
memudahkan DPTSI sebagai pihak yang mengelola sistem
basis data untuk mendapatkan informasi terkait kinerja basis
data dan menentukan langkah yang harus dilakukan agar
mendapatkan kinerja basis data yang efisien dan optimal.
Melalui proses pembuatan hingga penggujian didapatkan
kesimpulan bahwa metrik-metrik yang digunakan dapat
diimplementasikan pada sistem berbasis web, dan sistem yang
dibuat dapat menyesuaikan dengan versi basis data yang
berbeda.
Kata kunci: Basis Data, Pemantauan Kinerja, SQL Server,
Performance Dashboard
DEVELOPMENT OF WEB-BASED SQL SERVER
DATABASE PERFORMANCE MONITORING TOOLS
(CASE STUDY: PANTAU.ITS.AC.ID)
Student Name : Erwin Wilbert MapalieyNRP : 5212 100 094 Department : Information Systems
Supervisoe : Radityo Prasetianto W, S.Kom., M.Kom.
ABSTRACT
Database is a technology that has become an important part for
an organization or business. The database is a collection of
data stored in the computer systematically so easily accessible,
managed, and updated. In general, there are three main actors
in database usage, the database administrators (DBA), one or
more application developers, and users. A database
administrator is tasked with managing all activities related to
database performance optimization.
One way to determine whether the database is working
optimally is to perform database performance monitoring.
Some DBMS vendors already provide these tools that are
included in their products. In addition, there are another
company provide these database performance monitoring tools
separately and support multi-platform.
Tenth Nopember Institute of Technology (ITS) has a web-based
system that can monitor all application activities that used in
ITS environment including the database, which has address
pantau.its.ac.id. However, there is no monitoring function that
provides information related to database performance. This
final project aims to create a web-based database performance
monitoring tool that can be implemented on pantau.its.ac.id so
as to facilitate DPTSI as department that manages the database
determine the steps to be done in order to get the performance
with efficient and optimal data usage.Through the process of making up to the testers it can be
concluded that the metrics used can be implemented on a web-
based system, and the system created can adapt to different
database versionsKeywords : Database, Performance Monitoring, SQL Server,
Performance DashboardKATA PENGANTAR
Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa atas berkat rahmat dan penyertaan-Nya serta telah memberikan kesehatan, kekuatan dan kelancaran bagi penulis dalam menyelesaikan Tugas Akhir ini sebagai salah satu syarat kelulusan pada Jurusan Sistem Informasi, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Surabaya. Dengan judul penelitian tugas akhir yaitu:
“PEMBUATAN TOOLS PEMANTAUAN KINERJA
BASIS DATA SQL SERVER BERBASIS WEB (STUDI
KASUS: PANTAU.ITS.AC.ID)”Dalam penyusunan, pengerjaan, dan penulisan Tugas Akhir ini tidak terlepas dari bantuan, bimbingan, serta dukungan dari berbagai pihak. Oleh karena itu, penulis dengan senang hati ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada:
- Keluarga penulis yang selalu memberikan doa, dukungan dan semangat selama saya menjalani kuliah di Sistem Informasi ITS.
- Bapak Dr. Ir. Aris Tjahyanto, M.Kom. sebagai Ketua Jurusan Sistem Informasi ITS dan Bapak Nisfu Asrul Sani, S.Kom, M.Sc. sebagai Kaprodi S1 Sistem Informasi ITS • Bapak Dr. Eng. Febriliyan Samopa, S.Kom, M.Kom.
sebagai dosen wali penulis selama menjalani perkuliahan di Jurusan Sistem Informasi ITS. Terima kasih untuk bimbingan dan saran yang membangun selama penulis menjalani perkuliahan
- Bapak dan ibu dosen laboratorium bidang minat Akuisisi Data dan Diseminasi Informasi.
- Bapak Radityo Prasetianto Wibowo, S.Kom.,
M.Kom. sebagai dosen pembimbing yang selalu sabar membimbing penulis selama pengerjaan dan yang telah diberikan untuk membimbing penulis, kritik dan saran yang membangun sehingga Tugas Akhir ini dapat diselesaikan dengan baik.
- Mas Ricky Asrul Sani sebagai admin dan laboran Lab.
Akuisisi Data dan Diseminasi Informasi yang telah berbagi pengalaman kepada penulis selama menjadi Asisten Laboratorium dan mengatur jadwal Tugas Akhir dengan baik.
- Mas Rizky dari pihak DPTSI yang telah memberikan waktu untuk berdiskusi dan membantu penulis sehingga Tugas Akhir ini dapat diimplementasikan.
- Teman-teman seperjuangan bimbingan Pak Radit dan teman-teman ADDI AMAN yang telah berjuang bersama untuk menyelesaikan tugas akhir ini.
- SOLA12IS angkatan 2012 Jurusan Sistem Informasi yang selalu memberikan dukungan dan semangat.
- Semua pihak yang tidak dapat disebutkan satu-persatu yang juga telah banyak membantu dan memberikan semangat dalam menyelesaikan Tugas Akhir ini.
Penulis menyadari bahwa penulisan laporan Tugas Akhir ini masih jauh dari sempurna. Oleh sebab itu, penulis memohon maaf atas segala kekurangan dan kesalahan yang ada di dalam Tugas Akhir ini. Penulis dengan senang hati menerima saran dan kritik untuk memperbaiki kekurangan dan kesalahan yang ada pada tugas akhir ini. Semoga tugas akhir ini dapat bermanfaat bagi pembaca.
Surabaya, Juli 2017 Penulis
DAFTAR ISI
ABSTRAK ............................................................................... v ABSTRACT ........................................................................... vii KATA PENGANTAR ............................................................ ix DAFTAR ISI ........................................................................... xi DAFTAR GAMBAR ............................................................. xv DAFTAR TABEL ...............................................................xxiii
BAB I PENDAHULUAN ........................................................ 1
1.1. Latar Belakang Masalah ......................................... 1
1.2. Perumusan Masalah................................................ 3
1.3. Batasan Masalah ..................................................... 3
1.4. Tujuan Penelitian.................................................... 4
1.5. Manfaat Penelitian.................................................. 4
1.6. Relevansi ................................................................ 4
BAB II TINJAUAN PUSTAKA .............................................. 7
2.1. Penelitian Sebelumnya ........................................... 7
2.1.1. ApexSQL Monitor........................................ 7
2.1.2. Database Health Monitor ............................. 8
2.1.3. Solarwinds Database Performance Analyzer ...................................................................... 9
2.2. Dasar Teori ........................................................... 11
2.2.1. Database Performance Tuning & Monitoring .................................................................... 11
2.2.2. SQL Server Performance Dashboard ......... 13
2.2.3. Dashboard................................................... 17
2.2.4. ITS Web Monitoring System ..................... 18
3.1. Tahapan Pelaksanaan Tugas Akhir .......................21
4.2.1. Metrik-Metrik SQL Server Performance Dashboard yang Digunakan........................29
5.3. Konfigurasi Aplikasi.............................................57
5.2. Direktori Aplikasi .................................................56
5.1. Lingkungan Implementasi ...................................55
BAB V IMPLEMENTASI ....................................................55
4.2.5. Desain Antarmuka Sistem .........................49
4.2.4. Desain Crawler ...........................................47
4.2.3. Desain Basis Data ......................................44
4.2.2. Desain Arsitektur Sistem ...........................43
4.2. Desain Sistem .......................................................29
3.1.1. Studi Literatur .............................................22
4.1.3. Kebutuhan Fungsional ...............................28
4.1.2. Pengguna Sistem .......................................27
4.1.1. Fungsi Utama Perangkat Lunak .................27
4.1. Analisis Kebutuhan ..............................................27
BAB IV PERANCANGAN ..................................................27
3.1.5. Penyusunan Buku Tugas Akhir ..................25
3.1.4. Pengujian Tools Pemantauan Kinerja Basis Data.............................................................24
3.1.3. Perancangan Tools Pemantauan Kinerja Basis Data Berbasis Web ............................22
3.1.2. Mempelajari Metrik-Metrik SQL Server Performance Dashboard .............................22
5.4. Pembuatan Aplikasi ..............................................58
5.4.1. Fungsi crawler ........................................... 58
5.4.2. Fungsi menampilkan kondisi server basis data ............................................................ 62
5.4.3. Fungsi menampilkan informasi CPU
Utilization .................................................. 64
5.4.4. Fungsi menampilkan informasi Blocking ... 68
5.4.5. Fungsi menampilkan informasi Missing
Index .......................................................... 72
5.4.6. Fungsi menampilkan informasi historis CPU Utilization .......................................... 76
5.4.7. Fungsi menampilkan informasi historis Blocking ...................................................... 78
5.4.8. Fungsi menampilkan informasi historis Missing Index ............................................ 82
5.5. Pengujian Aplikasi ............................................... 86
5.5.1. System Testing ............................................ 86
5.5.2. Version Testing .......................................... 86
BAB VI HASIL DAN PEMBAHASAN ............................... 89
6.1. Hasil .................................................................... 89
6.1.1. System Testing ............................................ 89
6.1.2. Version Testing ........................................ 100
6.2. Pembahasan ........................................................ 111
6.2.1. Pembahasan System Testing ..................... 111
6.2.2. Pembahasan Version Testing ................... 111
BAB VII KESIMPULAN DAN SARAN ............................ 113
7.1. Kesimpulan ........................................................ 113
DAFTAR PUSTAKA ...........................................................115 BIODATA PENULIS ...........................................................119
DAFTAR GAMBAR
Gambar 2.1 Tampilan aplikasi ApexSQL Monitor berbasis desktop ..................................................................................... 8Gambar 2.2 Tampilan aplikasi ApexSQL Monitor 2017 berbasis web ............................................................................. 8Gambar 2.3 Tampilan aplikasi Database Health Monitor ........ 9Gambar 2.4 Tampilan aplikasi Solarwinds DatabasePerformance Analyzer ............................................................ 10
Gambar 2.5 Tampilan SQL Server Performance Dashboard . 13Gambar 2.6 Tampilan informasi Blocking ............................. 15Gambar 2.7 Tampilan informasi Missing Index Report ......... 15Gambar 2.8 Tampilan informasi penggunaan CPU pada SQLServer ..................................................................................... 16
Gambar 2.9 Contoh dashboard untuk menampilkan
Performance Indicator ........................................................... 17
Gambar 2.10 Tampilan peta jaringan pada situspantau.its.ac.id
....................................................................... 18
Gambar 2.11 Halaman informasi database yang akan dilengkapi fitur monitoring dashboard ................................... 19Gambar 3.1 Metodologi Penelitian ........................................ 21Gambar 3.2 Alur pengembangan aplikasi dengan metode
Waterfall ................................................................................. 23
Gambar 4.1 Query pada stored procedureMS_PerfDashboard.usp_Blocking ......................................... 33
Gambar 4.2 Query pada stored procedureMS_PerfDashboard.usp_MissingIndexStats .......................... 36
Gambar 4.3 Query pada stored procedureMS_PerfDashboard.usp_Main_GetCPUHistory .................... 42
Gambar 4.4 Desain Arsitektur Tools Pemantauan KinerjaBasis Data Berbasis Web ........................................................43
Gambar 4.5 Skema basis data untuk Tools PemantauanKinerja Basis Data Berbasis Web ...........................................44
Gambar 4.6 Flowchart proses crawling pada sistem ..............48Gambar 4.7 Tampilan antarmuka kondisi server basis data ...49Gambar 4.8 UI Storyboard antarmuka informasi penggunaanCPU saat ini ............................................................................50
Gambar 4.9 Tampilan informasi tentang detail dan penggunaan CPU ....................................................................50Gambar 4.10 UI Storyboard antarmuka informasi adanya
Blocking ..................................................................................51
Gambar 4.11 Tampilan informasi Blocking pada dashboard 51Gambar 4.12 Tampilan detail informasi jika terjadi Blocking52Gambar 4.13 UI Storyboard antarmuka informasi detailMissing Index
..........................................................................52
Gambar 4.14 Tampilan informasi Missing Index pada
dashboard ...............................................................................52
Gambar 4.15 Halaman informasi tentang missing index yang terdeteksi pada server .............................................................53Gambar 4.16 UI Storyboard antarmuka informasi historis penggunaan CPU ....................................................................53Gambar 4.17 Tampilan dashboard informasi tentang historis penggunaan CPU pada waktu tertentu ....................................54Gambar 5.1 Direktori situs pantau.its.ac.id beserta sub- direktorinya.............................................................................56Gambar 5.2 Direktori tools pemantauan kinerja basis data berbasis web ...........................................................................57Gambar 5.3 Potongan kode untuk melakukan koneksi ke basis data .........................................................................................57Gambar 5.4 Potongan kode cron.php untuk melakukan koneksi ke masing-masing server basis data ....................................... 59Gambar 5.5 Potongan cron.php untuk melakukan crawlingCPU Utilization ...................................................................... 59
Gambar 5.6 Potongan cron.php untuk melakukan crawlingBlocking ................................................................................. 60
Gambar 5.7 Potongan cron.php untuk melakukan crawlingMissing Index ......................................................................... 61
Gambar 5.8 Tampilan antarmuka kondisi server basis data saat ini ........................................................................................... 62Gambar 5.9 Potongan main.php untuk melakukan koneksi ke server basis data ..................................................................... 63Gambar 5.10 Potongan main.php untuk mendeteksi blocking pada server basis data ............................................................. 64Gambar 5.11 Potongan main.php jika terdeteksi blocking pada server basis data ..................................................................... 64Gambar 5.12 Tampilan antarmuka dashboard ....................... 65Gambar 5.13 Potongan server.php untuk melakukan koneksi ke server basis data ................................................................. 66Gambar 5.14 Potongan server.php untuk menampilkan dataCPU Utilization
...................................................................... 66
Gambar 5.15 Potongan server.php untuk menampilkan informasi CPU Utilization dalam bentuk chart ...................... 68Gambar 5.16 Tampilan antarmuka jika terdeteksi blocking pada server ............................................................................. 68Gambar 5.17 Tampilan antarmuka pada dashboard jika terdeteksi blocking pada server .............................................. 69Gambar 5.18 Potongan server.php untuk menampilkan informasi blocking pada antarmuka dashboard ..................... 70Gambar 5.19 Tampilan antarmuka detail informasi BlockingGambar 5.20 Potongan fungsi untuk memanggil stored
procedure untuk Blocking ......................................................71
Gambar 5.21 Potongan blocking_info.php untuk menampilkan hasil fungsi dalam bentuk tabel ..............................................72Gambar 5.22 Tampilan antarmuka pada dashboard jika terdeteksi missing index pada server ......................................72Gambar 5.23 Potongan server.php untuk menampilkan informasi missing index pada antarmuka dashboard ..............73Gambar 5.24 Tampilan antarmuka detail informasi MissingIndex
.......................................................................................73
Gambar 5.25 Potongan fungsi untuk memanggil stored
procedure untuk Missing Index ..............................................75
Gambar 5.26 Potongan missing_index.php untuk menampilkan hasil fungsi dalam bentuk tabel .......................76Gambar 5.27 Tampilan antarmuka dashboard historis penggunaan CPU ....................................................................76Gambar 5.28 Potongan history_server.php untuk melakukan koneksi ke server basis data....................................................77Gambar 5.29 Potongan history_server.php untuk menampilkan data CPU Utilization ..............................................................77Gambar 5.30 Tampilan antarmuka dashboard historis jika terdapat Blocking ....................................................................78Gambar 5.31 Potongan history_server.php untuk menampilkan data Blocking ..........................................................................79Gambar 5.32 Tampilan antarmuka detail informasi historis untuk Blocking ........................................................................80Gambar 5.33 Potongan fungsi untuk memanggil data historis
Blocking ..................................................................................81
Gambar 5.34 Potongan his_blocking_info.php untuk menampilkan hasil fungsi dalam bentuk tabel .......................81Gambar 5.35 Tampilan antarmuka dashboard historis jika terdapat Missing Index ........................................................... 82Gambar 5.36 Potongan history_server.php untuk menampilkan data Missing Index .................................................................. 83Gambar 5.37 Tampilan antarmuka detail informasi historis untuk Missing Index ............................................................... 83Gambar 5.38 Potongan fungsi untuk memanggil data historis
Missing Index ......................................................................... 85
Gambar 5.39 Potongan his_missing_index.php untuk menampilkan hasil fungsi dalam bentuk tabel ....................... 85Gambar 6.1 Data waktu crawling berhasil diinputkan ........... 90Gambar 6.2 Data historis metrik CPU Utilization berhasil diinputkan ............................................................................... 90Gambar 6.3 Data historis metrik Blocking berhasil diinputkan................................................................................................ 90
Gambar 6.4 Data historis metrik Missing Index berhasil diinputkan ............................................................................... 91Gambar 6.5 Kondisi server berjalan dengan baik .................. 91Gambar 6.6 Kondisi server sedang offline ............................. 91Gambar 6.7 Kondisi server saat terjadi blocking ................... 92Gambar 6.8 Tampilan informasi metrik CPU Utilization ...... 92Gambar 6.9 Query awal pada stored procedure ..................... 93Gambar 6.10 Query pada stored procedure setelah dilakukan perubahan ............................................................................... 94Gambar 6.11 Tampilan metrik CPU Utilization setelah dilakukan perubahan query .................................................... 95Gambar 6.12 Tampilan antarmuka informasi blocking pada
dashboard ............................................................................... 95
Gambar 6.13 Tampilan antarmuka detail informasi blocking 96Gambar 6.14 Tampilan antarmuka jika tidak terjadi blocking................................................................................................96
Gambar 6.15 Tampilan antarmuka informasi missing index pada dashboard ......................................................................96Gambar 6.16 Tampilan antarmuka detail informasi missing
index .......................................................................................97
Gambar 6.17 Tampilan antarmuka informasi historis CPU
Utilization pada dashboard ....................................................98
Gambar 6.18 Tampilan antarmuka informasi historis Blocking pada dashboard ......................................................................98Gambar 6.19 Tampilan antarmuka detail informasi historis
Blocking ..................................................................................99
Gambar 6.20 Tampilan antarmuka informasi historis Missing
Index pada dashboard .............................................................99
Gambar 6.21 Tampilan antarmuka detail informasi historisMissing Index
........................................................................100
Gambar 6.22 Kondisi server dengan SQL Server 2005 berjalan dengan baik ...........................................................................101Gambar 6.23 Tampilan antarmuka dashboard pada serverSQL Server 2005 ..................................................................101
Gambar 6.24 Kondisi server SQL Server 2005 saat terjadi
blocking ................................................................................102
Gambar 6.25 Tampilan antarmuka dashboard Blocking padaSQL Server 2005 ..................................................................102
Gambar 6.26 Tampilan antarmuka informasi detail Blocking pada SQL Server 2005 ..........................................................103Gambar 6.27 Tampilan antarmuka dashboard Missing Index pada SQL Server 2005 ..........................................................103Gambar 6.28 Tampilan antarmuka informasi detail MissingIndex
pada SQL Server 2005 ................................................104
Gambar 6.29 Kondisi server dengan SQL Server 2008 R2 berjalan dengan baik ............................................................ 104Gambar 6.30 Tampilan antarmuka dashboard pada serverSQL Server 2008 R2 ............................................................ 105
Gambar 6.31 Kondisi server SQL Server 2008 R2 saat terjadi
blocking ................................................................................ 105
Gambar 6.32 Tampilan antarmuka dashboard Blocking padaSQL Server 2008 R2 ............................................................ 106
Gambar 6.33 Tampilan antarmuka informasi detail Blocking pada SQL Server 2008 R2 .................................................... 106Gambar 6.34 Tampilan antarmuka dashboard Missing Index pada SQL Server 2008 R2 .................................................... 107Gambar 6.35 Tampilan antarmuka informasi detail Missing
Index pada SQL Server 2008 R2 .......................................... 107
Gambar 6.36 Kondisi server dengan SQL Server 2014 berjalan dengan baik .......................................................................... 108Gambar 6.37 Tampilan antarmuka dashboard pada serverSQL Server 2014 .................................................................. 108
Gambar 6.38 Kondisi server SQL Server 2014 saat terjadi
blocking ................................................................................ 109
Gambar 6.39 Tampilan antarmuka dashboard Blocking padaSQL Server 2014 .................................................................. 109
Gambar 6.40 Tampilan antarmuka informasi detail Blocking pada SQL Server 2014 ......................................................... 110Gambar 6.41 Tampilan antarmuka dashboard Missing Index pada SQL Server 2014 ......................................................... 110Gambar 6.42 Tampilan antarmuka informasi detail Missing
Index pada SQL Server 2014 ............................................... 111
Halaman ini sengaja dikosongkan
DAFTAR TABEL
Tabel 2.1 Tabel perbandingan antar aplikasi.......................... 10Tabel 4.1 Daftar pengguna sistem dan aktivitas yang dilakukan................................................................................................ 28
Tabel 4.2 Daftar kolom pada
MS_PerfDashboard.usp_Blocking yang digunakan ............... 33
Tabel 4.3 Daftar kolom padaMS_PerfDashboard.usp_MissingIndexStats
yang digunakan ................................................................................................ 37
Tabel 4.4 Daftar kolom padaMS_PerfDashboard.usp_Main_GetCPUHistory
yang digunakan ............................................................................... 42
Tabel 4.5 Penjelasan entitas basis data ................................... 45Tabel 5.1 Spesifikasi komputer server localhost .................... 55Tabel 5.2 Teknologi yang digunakan ..................................... 55Tabel 5.3 Tabel versi SQL Server dan Performance Dashboard yang akan dilakukan Version Testing ..................................... 87Tabel 6.1 Fitur pada sistem yang akan diuji ........................... 89Tabel 6.2 Daftar versi yang akan dilakukan Version Testing.............................................................................................. 100
Halaman ini sengaja dikosongkan
BAB I PENDAHULUAN Pada bagian ini akan diuraikan gambaran umum penelitian yang
meliputi latar belakang masalah, perumusan masalah, batasan masalah penelitian, dan relevansi terhadap bidang minat penelitian. Setelah menjelaskan tujuan dan manfaat penelitian diharapkan dapat memberikan gambaran awal mengenai penelitian yang akan dilakukan.
1.1. Latar Belakang Masalah
Penggunaan teknologi basis data saat ini sudah semakin banyak dan berkembang dari tahun ke tahun. Basis data adalah kumpulan data yang disimpan di dalam komputer secara sistematis sehingga kontennya dapat dengan mudah diakses, dikelola, dan diperbarui [1]. Tipe basis data yang paling populer saat ini adalah basis data relasional. Sebuah basis data relasional biasanya terdiri dari satu atau beberapa tabel atau relasi dari baris dan kolom dengan unique key yang mengidentifikasi tiap baris [2]. Terdapat sekurang-kurangnya tiga aktor utama dalam penggunaan basis data, yaitu administrator basis data (DBA), satu atau lebih pengembang aplikasi, dan pengguna [3]. Pada umumnya, seorang administrator basis data bertugas untuk mengatur seluruh aktivitas yang berkaitan dengan optimalisasi kinerja basis data.
Salah satu cara untuk menentukan apakah basis data yang digunakan sudah bekerja secara optimal adalah dengan melakukan pemantauan kinerja basis data [4]. Pemantauan kinerja basis data adalah tindakan untuk mengukur kinerja basis data secara real-time untuk menemukan masalah yang membuat kinerja basis data tidak optimal dan faktor-faktor lain yang dapat menyebabkan masalah di kemudian hari [6]. Dengan memantau kinerja basis data, seorang administrator basis data juga dapat menentukan area mana dari basis data yang dapat ditingkatkan atau dioptimalkan untuk meningkatkan efisiensi dan kinerja. Beberapa vendor DBMS memiliki tools untuk melakukan pemantauan kinerja dan biasanya sudah tersedia bersama dengan produk basis datanya, seperti Enterprise Management milik Oracle [7] dan SQL Server Performance Dashboard milik Microsoft [8]. Selain itu, ada pihak luar yang hanya menyediakan tools untuk memantau kinerja basis data dan mendukung basis data multi-platform, serta tersedia baik berbasis desktop maupun berbasis web seperti Database Health [9] dan ApexSQL [10]. Semua aplikasi tersebut memiliki fitur- fitur yang sangat baik namun untuk pemakaiannya tergantung kebutuhan dari setiap pengguna. Institut Teknologi Sepuluh Nopember (ITS) memiliki sebuah sistem berbasis web yang berfungsi untuk memantau seluruh aktivitas aplikasi yang digunakan di lingkungan ITS termasuk basis data, yang memiliki alamat pantau.its.ac.id [11]. Sistem ini dibuat agar memudahkan DPTSI selaku pihak yang bertugas mengatur jalannya seluruh sistem teknologi informasi yang ada di ITS dalam melakukan pemantauan dan mengontrol apakah seluruh sistem berjalan dengan baik atau sudah tidak berfungsi, akan tetapi aplikasi ini masih perlu dikembangkan agar memiliki fungsi yang lebih lengkap salah satunya yaitu fungsi untuk melakukan pemantauan kinerja basis data yang terdapat di lingkungan ITS, dengan dilengkapi fitur dashboard yang dapat menampilkan informasi kinerja basis data secara visual. Penelitian ini bertujuan untuk membuat tools pemantauan kinerja basis data berbasis web yang diharapkan dapat digunakan dan diimplementasikan pada situs pantau.its.ac.id berdasarkan metrik-metrik yang terdapat dalam SQL Server Performance Dashboard, dan mempelajari bagaimana informasi terkait kondisi server basis data diproses oleh SQL Server. Dengan adanya tools ini sistem pantau.its.ac.id yang telah ada
DPTSI dalam mengelola sistem teknologi informasi di lingkungan ITS, terutama dalam pengelolaan kinerja basis data agar kinerja basis data menjadi lebih efisien dan optimal.
1.2. Perumusan Masalah
Berdasarkan uraian latar belakang, maka rumusan permasalahan yang menjadi fokus dalam penelitian berikut antara lain: 1.
Bagaimana membuat tools untuk melakukan pemantauan kinerja basis data berbasis web untuk sistem pantau.its.ac.id berdasarkan metrik-metrik pada SQL Server Performance Dashboard?
2. Bagaimana cara metrik-metrik pada SQL Server Performance Dashboard bekerja untuk memperoleh informasi terkait kondisi server basis data terkini?
3. Bagaimana cara menggunakan metrik-metrik pada
SQL Server Performance Dashboard untuk diimplementasikan dalam bentuk web?
4. Apakah tools pemantauan kinerja basis data berbasis web yang dibuat berpengaruh terhadap versi SQL Server yang berbeda? 1.3.
Batasan Masalah
Berdasarkan rumusan masalah yang telah disebutkan diatas, agar penelitian ini memperoleh hasil yang optimal, maka batasan masalah dalam penelitian ini antara lain:
1. Pembuatan tools pemantauan kinerja basis data berbasis web ini mengacu pada metrik-metrik Performance Dashboard diantaranya Blocking, Missing Index , dan CPU Utilization.
2. Tools reporting yang digunakan adalah SQL Server Performance Dashboard 2012.
3. DBMS yang akan dilakukan pemantauan kinerja adalah Microsoft SQL Server.
4. Hasil akhir dari penelitian ini adalah tools pemantauan kinerja basis data berbasis web yang siap diimplementasikan pada aplikasi sistem monitoring web ITS (pantau.its.ac.id).
1.4. Tujuan Penelitian
Berdasarkan perumusan masalah dan batasan masalah yang telah disebutkan diatas, maka tujuan akhir dari penelitian ini adalah membuat tools untuk melakukan pemantauan kinerja basis data berbasis web dengan mengacu pada metrik-metrik pengukuran kinerja basis data di dalam SQL Server Performance Dashboard yang kemudian dapat diimplementasikan pada sistem pantau.its.ac.id. Di dalam tools ini juga terdapat fitur dashboard yang dapat menampilkan informasi kinerja basis data secara visual berdasarkan metrik- metrik pengukuran yang digunakan.
1.5. Manfaat Penelitian
Manfaat yang diharapkan melalui penelitian ini adalah memudahkan pihak DPTSI selaku badan yang bertugas mengelola seluruh sistem aplikasi dan basis data yang terdapat di lingkungan ITS untuk memantau kinerja basis data yang dimiliki dan memberikan informasi-informasi secara visual yang akurat untuk menentukan langkah yang harus dilakukan pemahaman lebih dalam tentang pemantauan kinerja basis data pada SQL Server.
1.6. Relevansi
Penelitian ini berkaitan dengan bidang penelitian pada Laboratorium Akuisisi Data dan Diseminasi Informasi (ADDI) dan mata kuliah di Jurusan Sistem Informasi diantaranya Manajemen Admistrasi Basis Data, Desain Basis Data, Pemrograman Berbasis Web, Konstruksi dan Pengujian Perangkat Lunak, Interaksi Manusia dan Komputer, dan Sistem Pendukung Keputusan.
Halaman ini sengaja dikosongkan
BAB II TINJAUAN PUSTAKA Pada bagian ini akan dijelaskan mengenai beberapa penelitian
sebelumnya dan beberapa dasar teori yang menjadi acuan dan landasan dalam melakukan penelitian ini. Landasan teori akan memberikan gambaran tentang konsep dan teknologi apa saja yang digunakan dalam penelitian ini.
2.1. Penelitian Sebelumnya
Beberapa penelitian sebelumnya yang menjadi acuan dalam mengerjakan penelitian ini adalah sebagai berikut:
2.1.1. ApexSQL Monitor
ApexSQL Monitor merupakan salah satu aplikasi berbasis desktop buatan ApexSQL yang membantu seorang administrator basis data untuk melakukan pemantauan kinerja basis data SQL Server. Selain itu, ApexSQL Monitor juga dapat menampilkan metrik performa sistem basis data, mengidentifikasi masalah performa dan deadlock, dan menampilkan seluruh informasi performa basis data dalam bentuk dashboard sehingga administrator dapat melihat informasi metrik dan data performa basis data secara visual dan real-time [12].
Pada tahun 2017, ApexSQL Monitor mengeluarkan versi terbarunya yang berbasis web. Dalam versi terbaru ini juga menampilkan informasi yang berguna untuk melakukan pemantauan SQL Server Instance secara dinamis juga dengan tampilan dashboard yang sudah mengalami pembaruan desain yang memuat informasi yang penting seperti alert dan
availability [13].
Gambar 2.1 Tampilan aplikasi ApexSQL Monitor berbasis desktopGambar 2.2 Tampilan aplikasi ApexSQL Monitor 2017 berbasis web 2.1.2.Database Health Monitor
Database Health Monitor merupakan tools pemantauan kinerja basis data untuk SQL Server berbasis desktop. Tools ini dikembangkan oleh Steve Stedman pada tahun 2011 dengan mengacu pada SSRS Report sebagai dasar dalam data yang membutuhkan tampilan visual untuk mengetahui bagaimana performa SQL Server Instance mereka [9].
Gambar 2.3 Tampilan aplikasi Database Health Monitor 2.1.3.Solarwinds Database Performance Analyzer
Solarwinds Database Performance Analyzer merupakan aplikasi monitoring basis data berbasis web buatan Solarwinds. Aplikasi ini mendukung pemantauan performa basis data multi-
platform . Beberapa DBMS yang didukung diantaranya
Microsoft SQL Server, Oracle, MySQL, IBM DB2, dan SAP ASE. Melalui aplikasi ini, administrator basis data dapat melihat performa basis data secara visual karena adanya fitur
dashboard . Aplikasi ini juga memungkinkan seorang
administrator basis data melakukan optimasi dimana saja dan kapan saja karena berbasis web dan mendukung Cloud
Monitoring [14].
Gambar 2.4 Tampilan aplikasi Solarwinds Database Performance AnalyzerDari ketiga aplikasi untuk melakukan pemantauan kinerja basis data tersebut yang dijadikan acuan untuk melakukan pembuatan tools pemantauan kinerja basis data, penulis melakukan perbandingan untuk melihat persamaan dan perbedaan antar aplikasi dengan tools pemantauan kinerja basis data yang akan dibuat dalam penelitian ini. Perbandingan antar aplikasi tersebut dapat dilihat pada tabel 2.1 berikut.
Tabel 2.1 Tabel perbandingan antar aplikasiJenis DBMS yang Fitur Aplikasi Aplikasi didukung Dashboard
Aplikasi ApexSQL Desktop, Microsoft
Ya Monitor Aplikasi SQL Server
Web (2017) Database
Aplikasi Microsoft Solarwinds Database Performance Analyzer