Supersoft Teknologi

Crew yang kompak menghasilkan software yang tepak: D

Modifikasi struktur Stockiest

June 14, 2016
ALTER TABLE stockiest DROP PRIMARY KEY;
ALTER TABLE stockiest add id int not null auto_increment primary key;
ALTER TABLE stockiest ADD UNIQUE KEY agenid_idx (agenid);

MYSQL Performance

August 10, 2012

MySQL Performance :: kemarin visit lokasi client, yang database servernya bermasalah — sebuah query untuk laporan rekap membutuhkan waktu 30 menit.
Kini proses rekap tsb selesai dalam waktu < 1 detik……. :-) performa naik 1800x lipat, setelah investigasi sekitar 10 menit.

Solusi kasus tsb mudah sekali - penggunaan index yang tepat :-) maka performa bisa langsung naik drastis.

Tentu saja index juga ada kelemahannya, seperti :

(#) Extra disk space : dibutuhkan space ekstra untuk file-file index. Namun, ketika hard disk sudah mulai berukuran Terabyte :) maka ini tidak terlalu menjadi masalah.

(#) Slower Write : ini bisa terjadi karena proses penyimpanan data secara otomatis juga mengakibatkan index jadi di update.

Pada jumlah / ukuran index yang besar DAN volume write yang banyak, maka ini bisa menyebabkan penurunan performa.

SOLUSI :
*** Gunakan index seperlunya.
*** Jika perlu, pisahkan index ke disk yang lainnya.

CARA MENEMUKAN QUERY YANG LAMBAT ::

(#) Edit file konfigurasi MySQL, misal: /etc/mysql/my.cnf
(#) Pastikan ada baris-baris sbb :

log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1
log-queries-not-using-indexes

(#) Restart MySQL
(#) Kini kita tinggal memperhatikan isi file log tsb diatas, misalnya dengan perintah : tail -f /var/log/mysql/mysql-slow.log

CARA MENGETAHUI ‘KENAPA’ QUERY LAMBAT ::

(#) Buka console MySQL : mysql -u usermysql -p
(#) Atau buka tab SQL di phpMyAdmin : http://localhost/phpmyadmin/​server_sql.php

(#) Ketikkan query yang lambat tsb, dengan sebelumnya diawali dengan statement “EXPLAIN”.

Contoh : EXPLAIN SELECT nama, alamat FROM team WHERE location = 5;

Maka akan muncul detail dari eksekusi query tsb, sehingga kita bisa melihat dimana titik masalahnya.

Optimalisasi Database

July 29, 2010

# table purchase

  • ALTER TABLE purchase ADD INDEX (`tanggal`);
  • ALTER TABLE purchase ADD INDEX (`agenid`);
  • ALTER TABLE purchase ADD INDEX (`vtype`);
  • ALTER TABLE stockiest ADD INDEX (`tujuan`);
  • ALTER TABLE stockiest ADD INDEX (`app_id`);
  • ALTER TABLE stockiest ADD INDEX (`status`);

# table hpagen

ALTER TABLE hpagen ADD INDEX (`hp`);

ALTER TABLE hpagen ADD INDEX (`agenid`);

# table inbox_read

ALTER TABLE inbox_read ADD INDEX (`in_starttime`);

ALTER TABLE inbox_read ADD INDEX (`agenid);

# table outbox

ALTER TABLE outbox ADD INDEX (`out_starttime`);

ALTER TABLE outbox ADD INDEX (`agenid);

ALTER TABLE outbox ADD INDEX (`app_id`);

# table inbox_khusus

ALTER TABLE inbox_khusus ADD INDEX (`tanggal`);

ALTER TABLE inbox_khusus ADD INDEX (`app_id`);

ALTER TABLE inbox_khusus ADD INDEX (`sender`);

ALTER TABLE inbox_khusus ADD INDEX (`hp`);

# table mutasi

# table mutasi_bonus

# table voucher

# table statis

# table hpp_voucher

# table filter

# table prefix

# table deposit

  • ALTER TABLE deposit ADD INDEX (`tanggal`);
  • ALTER TABLE deposit ADD INDEX (`agenid`);

Optimalisasi mysql di Server Traffic Tinggi

October 24, 2008

Untuk mengoptimalisasi server trafic tinggi, paling tidak ada 3 titik. Apache, MySQL, PHP. Sebenarnya ada banyak titik yang harus di optimalisasi, tapi sudah cukup signifikan membuat laju komputer server di trafic tinggi.

1. OPTIMISASI MySQL

Untuk server yg melaju di trafic tinggi serung yang down duluan selalu MySQL dan bukan Apachenya, jadi dari sini kita gerak. Optimalisasi MySQL biasanya hanya terpusat di file /etc/my.cnf. Yang cukup penting adalah setting variable max_connections, key_buffer dan table_cache. Setting variable lain selengkapnya seperti di bawah, beberapa nyontek dari tulisan yang ada di list referensi.

max_connections = 500
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size = 512M

Sedangkan optimisasi table-table databasenya sendiri bisa menggunakan PhpMyadmin, khususnya fitur Optimize Table.

2. OPTIMISASI APACHE

Optimisasi lengkap ada di http://httpd.apache.org/docs/1.3/misc/perf-tuning.html.

3. Optimalisasi PHP

Optimalisasi PHP bisa juga tergantung dari script yg di develop. Dengan script yang simple bisa membuat kerja server cepat prosessnya.