Internet, Programming, Tutorial - Tips & Trik

PHP, MYSQL, APACHE Tips – Optimize How To

December 14, 2008

 

PHP, MYSQL, APACHE Tips - Optimize How To

PHP, MYSQL, APACHE Tips – Optimize How To – Nama maupun logo dari PHPMYSQL serta Apache pastinya sudah tidak asing lagi bagi kita.. Disini saya bukan ingin menulis tentang apa itu PHPMYSQL serta Apache, apalagi untuk mengajarkan programmingnya (huhu, saya masih newbie a.k.a cupu banget masalah programming nanti malah tersesat kalo saya yang ngajarin programmingnya..belum saatnya, saya masih dalam tahap pembelajaran juga..hehe), tetapi hanya ingin berbagi info tentang optimasi (tips & trik) yang dapat diimplementasikan dari ketiga sofware Open Source tersebut (PHPMYSQL serta Apache).

Berikut saya posting hasil googling yang mungkin berguna dan dapat digunakan sebagai catatan, dirangkum atau dikutip dari berbagai sumber..

 

PHP Tips – Optimize How To

Source : id.nimhost.com

Sebagai web programmer tentu saja anda ingin membuat web site yang cepat di load dan tidak membebani kinerja server. 

Berikut adalah tips untuk mengoptimalkan kode-kode php anda sehingga kode php anda dapat lebih cepat di load dan di eksekusi oleh server dan tidak membebani atau menggunakan terlalu banyak resource yang disediakan oleh server. 

1. Penggunaan Variable 

Penggunaan Variable

  • Mengoperasikan variable yang sudah di set lebih cepat 376% dibandingkan menggunakan variable yang belum di set.
  • Menggunakan constant lebih lambat 146% di banding menggunakan variable.
  • Menggunakan lokal variable 9.9% lebih cepat di banding menggunakan global variable.


Fungsi String

  • Menggunakan ‘string’ lebih cepat 0.26% di banding menggunakan “string”
  • Menggunakan “string” lebih cepat 4% di banding menggunakan sintak HEREDOC
  • Menggunakan “string\n” lebih cepat 108% di banding menggunakan ‘string’.”\n”
  • Menggunakan ‘string’.$var lebih cepat 28% di banding menggunakan “string$var”
  • Menggunakan ‘string ‘.$var.’ string’ lebih cepat 55% di banding menggunakan sprintf(‘string %s string’, $var)
  • Menggunakan “\n” lebih cepat 70% di banding menggunakan chr(10)
  • Menggunakan strnatcmp() lebih cepat 4.95% di banding menggunakan strcmp()
  • Menggunakan strcasecmp() lebih cepat 45% di banding menggunakan preg_match()
  • Menggunakan strcasecmp() lebih cepat 6.6% di banding menggunakan strtoupper($string) == “STRING”
  • Menggunakan strcasecmp() lebih cepat 13% di banding menggunakan strnatcasecmp()
  • Menggunakan strtr($string, $string1, $string2) lebih cepat 10% di banding menggunakan str_replace()
  • Menggunakan str_replace() lebih cepat 161% di banding menggunakan strtr($string, $array)
  • Menggunakan stristr() lebih cepat 10% di banding menggunakan stripos()
  • Menggunakan strpos() lebih cepat 9.7% di banding menggunakan strstr()
  • Menggunakan isset($str{5}) lebih cepat 176% di banding menggunakan strlen($str) > 5
  • Menggunakan str_replace($str, $str, $str) 2x lebih cepat 17% di banding menggunakan str_replace(array, array, string)
  • Menggunakan list() = explode() lebih cepat 13% di banding menggunakan substr($str, strpos($str))


Fungsi Numeric

  • Menggunakan ++$int lebih cepat 10% di banding menggunakan $int++
  •  Menggunakan (float) lebih cepat 48% di banding menggunakan settype($var, ‘float’)


Fungsi Array

  •  Menggunakan list() = $array; lebih cepat 3.4% di banding menggunakan assigning each variable
  • Menggunakan in_array() lebih cepat 6% di banding menggunakan array_search
  • Menggunakan isset($array[$key]) lebih cepat 230% di banding menggunakan array_key_exists()
  • Menggunakan !empty($array) lebih cepat 66% di banding menggunakan count($array)


Fungsi Output

  • Menggunakan echo lebih cepat 5% di banding menggunakan print()
  • Menggunakan echo ‘ ‘.’ ‘ lebih cepat 0.44% di banding menggunakan echo ‘ ‘,’ ‘


2. Function dan Method


Function dan Calling Method

  • Menggunakan call_user_func() lebih lambat 54% di banding langsung memanggil function tersebut
  • Menggunakan call_user_func() lebih lambat 59% di banding langsung memanggil sebuah static method
  • Menggunakan call_user_func() lebih lambat 65% di banding langsung memanggil sebuah object method
  • Menggunakan function() lebih cepat 119% di banding menggunakan static::method()
  • Menggunakan $this->method() lebih cepat 116% di banding menggunakan static::method()
  • Menggunakan declared static::method() lebih cepat 93% di banding menggunakan static::method()


Fungsi Umum

  • Menggunakan Pass by reference lebih cepat 3% di banding menggunakan Return by reference
  • Menggunakan No reference lebih cepat 1.7% di banding menggunakan Return by reference


3. Storage (Penyimpanan)


File System

  • Menggunakan Scandir() lebih cepat 4% di banding menggunakan opendir(), readdir(), closedir()
  • Menggunakan file_get_contents() lebih cepat 52% di banding menggunakan fopen(), fread(), fclose()
  • Menggunakan file_get_contents() lebih cepat 39% di banding menggunakan implode(“\n”, file())


Fungsi Cache

  • Menggunakan xcache_set() lebih cepat 1,645% di banding menggunakan file_put_contents()
  • Menggunakan xcache_set() lebih cepat 646% di banding menggunakan memcache->set()
  • Menggunakan xcache_get() lebih cepat 1,312% di banding menggunakan memcache->get() 


4. Fungsi-Fungsi Lainnya


Fungsi Umum (General)

  • Menggunakan if elseif else lebih cepat 0.78 % di banding menggunakan switch
  • Menggunakan @Error supression lebih lambat 235% di banding tidak menggunakannya
  • Menggunakan $_SERVER[‘REQUEST_TIME’] lebih cepat 59% di banding menggunakan time()
  • Menggunakan min(array) lebih cepat 16% di banding menggunakan min(int, int)
  • Menggunakan require_once() lebih cepat 24% di banding menggunakan include()
  • Menggunakan require_once() sama cepat dengan menggunakan perintah include_once()
  • Menggunakan include(relative path) lebih cepat 37% di banding menggunakan include(full path)

 

Regular Expressions

  • Menggunakan str_replace() lebih cepat 40% di banding menggunakan preg_replace()
  • Menggunakan ereg(‘regex’) lebih cepat 17% di banding menggunakan preg_match(‘/regex/’)
  • Menggunakan preg_match(‘/regex/i’) lebih cepat 68% di banding menggunakan eregi(‘regex’)

 

=====================================================

 

MySQL Tips – Optimize How To

Source : romisatriawahono.net & supersoft.web.id

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 sering 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.

=====================================================

Tambahan dari saya :

Untuk Optimisasi MySQL, saya menggunakan AppServ 2.5.9 (MySQL Database Version 5.0.45) di localhost dan nama filenya adalah my.ini yg terletak di AppServ\MySQL\my.ini.

Untuk Optimisasi PHP, jika kita melakukan query dengan data yang sudah mencapai jutaan, biasanya kita menemui masalah dengan executing time. Maksimum waktu eksekusi ini di PHP defaultnya adalah 30 detik ( max_execution_time = 30). Untuk mengatasi masalah ini dapat diganti max_execution_time = 60 (contoh maksimum waktu untuk eksekusi adalah 60 detik) di php.ini, tetapi untuk masalah executing_time ini, saya lebih suka kita menambahkan script sbb :

<?php

set_time_limit(60);//set limit untuk melakukan query = 60 seconds

?>

Semoga bermanfaat..

 

./ dieq41

No Comments

Leave a Reply


*

This site uses Akismet to reduce spam. Learn how your comment data is processed.