Pada artikelku tentang Mudahnya Install Linux, Apache, MySql, PHP dan WordPress Dengan Tuxlite sudah ditulis sedikit mengenai cara konfigurasi APC secara singkat.
Namun, manusia selalu saja tidak puas dengan hasil yang ada akhirnya mencoba mencari tahu dan sambil trial and error sampai akhirnya menemukan konfigurasi yang pas.
Nah, pada konfigurasi yang lalu tidak ada yang salah hanya perlu sedikit perubahan pada beberapa variabel saja, untuk lebih jelasnya silahkan lihat petunjuk berikut.
Permasalahan pada konfigurasi terdahulu adalah pada pemakaian Disk I/O yang terlalu tinggi, salah satunya adalah ditandai dengan munculnya [flush-8:0].
Untuk mengurangi Disk I/O yang terlalu tinggi maka ikuti langkah berikut :
Pindahkan apc.shm_size ke tmpfs
mkdir /tmp/apc
Edit file /etc/fstab
vi /etc/fstab
tambahkan baris berikut :
tmpfs /tmp/apc tmpfs size=256M 0 0
Kemudian mount partisi tersebut
mount /tmp/apc
Dengan mengalokasikan sebanyak 256M dari RAM untuk konfigurasi APC maka Disk I/O tidak akan terlalu tinggi lagi. Sekarang tinggal diimplementasikan dalam konfigurasi APC pada file php.ini yaitu pada variable apc.mmap_file_mask=/tmp/apc/apc.XXXXXX
[APC] extension=apc.so apc.enabled=1 apc.shm_segments=1 ;32M per WordPress install apc.shm_size=256M ;Relative to the number of cached files (you may need to watch your stats for a day or two to find out a good number) apc.num_files_hint=7000 ;Relative to the size of WordPress apc.user_entries_hint=4096 ;The number of seconds a cache entry is allowed to idle in a slot before APC dumps the cache apc.ttl=3600 apc.user_ttl=7200 apc.gc_ttl=3600 ;Setting this to 0 will give you the best performance, as APC will ;not have to check the IO for changes. However, you must clear ;the APC cache to recompile already cached files. If you are still ;developing, updating your site daily in WP-ADMIN, and running W3TC ;set this to 1 apc.stat=0 ;This MUST be 0, WP can have errors otherwise! apc.include_once_override=0 ;Only set to 1 while debugging apc.enable_cli=0 ;Allow 2 seconds after a file is created before it is cached to prevent users from seeing half-written/weird pages apc.file_update_protection=2 ;Leave at 2M or lower. WordPress does't have any file sizes close to 2M apc.max_file_size=1M ;Ignore files ;apc.filters = "/var/www/apc.php" apc.cache_by_default=1 apc.use_request_time=1 apc.slam_defense=0 apc.mmap_file_mask=/tmp/apc/apc.XXXXXX apc.stat_ctime=0 apc.canonicalize=1 apc.write_lock=1 apc.report_autofilter=0 apc.rfc1867=0 apc.rfc1867_prefix =upload_ apc.rfc1867_name=APC_UPLOAD_PROGRESS apc.rfc1867_freq=0 apc.rfc1867_ttl=3600 apc.lazy_classes=0 apc.lazy_functions=0
Kemudian jangan lupa mengubah konfigurasi pada file apc.ini, kalau aku menggunakan php-fpm jadi filenya berbeda begitu juga dengan pathnya yaitu di /etc/php/fpm/conf.d/20-apc.ini
extension = apc.so apc.enabled=1 apc.shm_segments=1 apc.shm_size=256M ## PHP file cache 1 hour ## apc.ttl=3600 ## User cache 2 hour ## apc.user_ttl=7200 ## Garbage collection 1 hour ## apc.gc_ttl=3600 apc.max_file_size=1M apc.stat=0
Setelah selesai silahkan restart service, kalau menggunakan php-fpm dapat menggunakan
service php5-fpm restart
Perlu diingat sesuaikan alokasi memory untuk APC dengan RAM yang digunakan dalam VPS, jangan sampai overload.
OK, segitu dulu dan selamat mencoba ….. kalau ada yang kurang mohon dimaafkan. 🙂
Related Search
Tags: #apc #cache #linux #optimasi #PHP #php-fpm #VPS #XXXXXX