HTTP Persistent Analis Pengaruh Penggunaan Persistent dan Non-persistent HTTP

66 Dengan menggunakan koneksi persistent, server membiarkan koneksi TCP terbuka setelah mengirimkan respon. Sebuah halaman web atau beberapa halaman web yang berasal dari server yang sama dapat dikirimkan dari server ke klien yang sama melalui sebuah koneksi TCP persistent yang sama.

4.2.1 HTTP Persistent

Pengaturan Koneksi yang digunakan oleh Wemos D1 dapat dilakukan dengan membuat duah buah class koneksi HTTP yang mempunyai pengaturan set_reuse yang berbeda. Untuk koneksi persisten class yang digunakan adalah seperti yang terlihat pada Gambar 4.12. 1 c l as s Per s i s t ent Ht t p : publ i c v i r t ual Wi f i Ht t pCl i ent 2 { 3 publ i c : 4 Per s i s t ent Ht t p s t d: : map St r i ng , St r i ng s et t i ng : Wi f i Ht t pCl i ent s et t i ng { } 5 6 v oi d s er v i c e 7 { 8 Debug: : pr i nt l n Memul ai s er v i c e k onek s i HTTP Per s i s t ent . . . ; 9 10 i nt er v al = ; 11 ht t p. s et Reus e t r ue ; 12 13 Sc hedul er : : ev er y i nt er v al , [ =] { 14 updat eMes s age ; 15 ht t pGet gener at eUr i , [ =] { 16 boar d- ex ec ut eUs er Command r es pons e ; 17 } ; 18 } ; 19 } 20 } ; Gambar 4.12 Kode program class HTTP yang menggunakan koneksi persistent Penghitungan kinerja sistem Home Automation dengan menggunakan koneksi persistent dilakukan dengan membuat sebuah script pada bagian server yang mengimitasi perintah dari user. Script ini akan selalu mengirimkan perintah Universitas Sumatera Utara 67 ke Wemos D1 secara berkala. Pada bagaian Wemos beberapa baris kode ditambahkan untuk menghitung berapa lama jarak dari pertama kali Board tersebut mengirimkan data ke server hingga respon yang berisi perintah diterima. Script tersebut lebih jelasnya dapat dilihat pada Gambar 4.13. 1 f unc t i on k i r i mPer i nt ah { 2 t ur nOn6 . c l i c k f unc t i on { 3 . aj ax { ur l : c ommands 1 bui l t i n_l ed , s uc c es s : f unc t i on r es ul t { al er t Per i nt ah t er k i r i m ; } } ; 4 } ; 5 s et Ti meout k i r i mPer i nt ah, 1000 ; 6 } Gambar 4.13 Script pengujian koneksi Pada bagian Wemos D1, pesan request yang dikirmkan ke server berisi sebuah field notifikasi, pengukuran dan informasi Wemos D1. Panjang pesan request yang dikirimkan adalah 251 karakter. Isi pesan request tersebut seperti yang terlihat pada Gambar 4.14. 1 { 2 not i f i c at i ons : [ ] , 3 meas ur ement s : [ ] , 4 c onnec t i onI nf os : [ ] , 5 boar dI nf o : { 6 c hi pI d : 1005283 , 7 c puFr eqMHz : 80 , 8 s dk Ver s i on : 1. 5. 3 aec 24ac 9 , 9 boot Ver s i on : 31 , 10 boot Mode : 1 , 11 c y c l eCount : 20033772 , 12 f r eeHeap : 38560 , 13 s k et c hSi z e : 260568 , 14 f r eeSk et c hSpac e : 786432 15 } 16 } Gambar 4.14 Isi data yang dimasukkan pada pesan request Bentuk uri setelah parameter – parameter seperti alamat host, publish key, subscribe key, signature, channel name, callback dan pesan digabungkan menjadi: Universitas Sumatera Utara 68 www.wahyunugraha.compublishpub-w-3e5de365-5d57-48c7-a317- 366ef2846eb4sub-n-cca59b64-d972-11e5-bdd5- 02ee2ddab7fe0rumah10{notifications:[],measurements:[],BoardInfo:{c hipId:1005283,cpuFreqMHz:80,sdkVersion:1.5.3aec24ac9,bootVersion :31,bootMode:1,cycleCount:20326008,freeHeap:38856,sketchSize:2598 64,freeSketchSpace:786432}}. Ketika pesan request diterima oleh server, maka pesan tersebut akan diekstrak dan disimpan pada tabel database yang sesuai. Kemuidan server akan mengirimkan respon teks yang berisi perintah dalam format JSON yang harus dieksekusi oleh Wemos D1. Pada pengujian, respon tersubut setiap saatnya berisi satu perintah. Panjang pesan respon yang dikirimkan adalah 54 karakter. Isi pesan respon tersebut seperti yang terlihat pada Gambar 4.15. 1 { c ommands : [ { pi n : BUI LTI N_LED , ac t i on : t oggl e } ] } Gambar 4.15 Isi dari pesan respon yang dikirimkan server ke Wemos D1 Pengujian dilakukan sebanyak 5 kali. Satu kali pengujian dilakukan pengiriman perintah sebanyak 20 kali. Hasil dari pengujian dengan menggunakan koneksi HTTP persistent seperti yang terlihat pada Tabel 4.1. Tabel 4.1Waktu respon sistem Home Automation menggunakan koneksi HTTP persistent Perint ah Ke Waktu responPercob aan 1 ms Waktu responPercob aan 2 ms Waktu responPercob aan 3 ms Waktu responPercob aan 4 ms Waktu responPercob aan 5 ms 1 390 180 157 192 182 2 171 145 326 171 162 3 157 140 177 166 174 4 219 132 172 169 240 5 179 167 142 162 202 Universitas Sumatera Utara 69 6 169 160 132 261 182 7 166 239 181 184 172 8 161 277 153 260 172 9 171 178 202 211 202 10 549 163 222 222 261 11 186 168 191 234 201 12 173 143 172 192 163 13 152 172 244 270 212 14 1129 273 150 290 152 15 231 422 182 383 142 16 192 204 174 354 161 17 172 172 142 568 152 18 171 199 174 153 172 19 164 158 196 200 352 20 159 211 173 213 151 Bentuk grafik dari nilai – nilai waktu respon yang ada pada tabel diatas seperti yang ditunjukkan pada Gambar 4.16. Universitas Sumatera Utara 70 Gambar 4.16Grafik nilai waktu respon dengan menggunakan HTTP persistent Pada percobaan pertama nilai waktu respon minumnya adalah 152 ms dan nilai maksimumnya 1129 ms. Rata-rata waktu respon pada percobaan pertama adalah 253 ms. Pada percobaan kedua nilai waktu respon minumnya adalah 132 ms dan nilai maksimumnya 422 ms. Rata-rata waktu respon pada percobaan kedua adalah 195 ms. Pada percobaan ketiga nilai waktu respon minumnya adalah 132 ms dan nilai maksimumnya 326 ms. Rata-rata waktu respon pada percobaan ketiga adalah 183 ms. 200 400 600 800 1000 1200 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 W akt u R e sp on m s Perintah Ke Delay Percobaan 1 ms Delay Percobaan 2 ms Delay Percobaan 3 ms Delay Percobaan 4 ms Delay Percobaan 5 ms Universitas Sumatera Utara 71 Pada percobaan keempat nilai waktu respon minumnya adalah 153 ms dan nilai maksimumnya 568 ms. Rata-rata waktu respon pada percobaan keempat adalah 243 ms. Pada percobaan kelima nilai waktu respon minumnya adalah 142 ms dan nilai maksimumnya 352 ms. Rata-rata waktu respon pada percobaan kelima adalah 190 ms. Secara keseluruhan rata – rata waktu respon yang didapat adalah 213 ms. Nilai ini masih cukup besar karena waktu respon ideal yang diinginkan harus lebih kecil dari 100 ms.

4.2.2 HTTP Non-persistent