There is no need for APC (or any of the similar sort of bytecode caching extensions like XCache) as of PHP 5.5 and later. The PHP developers directly integrated what they call OPCache into the core of the product. Not only does this provide greater overall product stability, it is officially supported by the PHP developers.
If you need a specific feature from APC that is not in OPCache (e.g. APCu functionality), then you should start a discussion on the php-dev mailing list.
Finally, a good rule of thumb is to only run versions of PHP that are listed on the php.net homepage. While distros will generally backport security fixes, newer versions of PHP have more useful features. Newer versions of PHP also generally have significant performance benefits that may allow you to bypass needing additional PECL extensions such as APCu.
http://webtolearning.blogspot.co.id/2012/07/alternate-php-cache-apc.html
http://anandarajpandey.com/2014/07/15/how-to-install-apc-in-centos-for-php-better-performance-opcode/
https://firebearstudio.com/blog/the-best-php-accelerators.html
Jika Anda seorang administrator sistem dan Anda ingin mengoptimalkan
kinerja situs PHP Anda seperti Drupal, Wordpress, hasil coding kamu
sendiri atau programmer lain, ada hal baik jika kamu tahu tentang
Alternate PHP Cache atau disingkat APC.
Alternate PHP Cache (APC) adalah opcode cache yang free dan open untuk PHP. Tujuannya adalah untuk memberikan free, open, and robust framework untuk caching dan mengoptimalkan kode PHP intermediate.
Bagaimana Cara Kerca APC
Hal pertama yang perlu kamu ketahui, adalah bagaimana program PHP dijalankan oleh Zend Engine, berikut ini adalah langkah-langkah untuk mengetahui script PHP kamu kode mana yang benar-benar digunakan oleh Engine, ini umumnya dikenal sebagai "opcodes".
Dari lampzone.wordpress.com
Berikut langkah-langkah rinci tentang APC
Konfigurasi APC Alternate PHP Cache (APC) adalah opcode cache yang free dan open untuk PHP. Tujuannya adalah untuk memberikan free, open, and robust framework untuk caching dan mengoptimalkan kode PHP intermediate.
Bagaimana Cara Kerca APC
Hal pertama yang perlu kamu ketahui, adalah bagaimana program PHP dijalankan oleh Zend Engine, berikut ini adalah langkah-langkah untuk mengetahui script PHP kamu kode mana yang benar-benar digunakan oleh Engine, ini umumnya dikenal sebagai "opcodes".
- Langkah pertama adalah membaca kode PHP dari filesystem dan memasukkannya ke dalam memori.
- Lexing: Bagian dalam kode php diubah menjadi token atau Lexicons.
- Parsing: Selama tahap ini, token diproses untuk mendapatkan meaningful expressions.
- Compiling : expressions yang didapatkan dikompilasi menjadi opcodes.
- Executing: opcodes yang dijalankan akan mendapatkan hasil akhir.
Dari lampzone.wordpress.com
Berikut langkah-langkah rinci tentang APC
- Selama modul init time (Minit), APC menggunakan mmap untuk memetakan file ke dalam shared memory.
- Selama request time, APC menggantikan zend_compile_file () dengan my_compile_file sendiri ().
- Jika APC tidak bisa menemukan file dalam cache, APC akan memanggil zend_compile_file untuk compile file
- Mendapatkan opcodes kembali dan menyimpannya ke dalam shared memory yang membaca / menulis dari proses Apache child yang berbeda. (Kita berbicara tentang Apache prefork MPM di sini.)
- Juga menyimpan kelas dan tabel fungsi dalam shared memory.
- Mengkopi opcodes ke dalam proses memori proses Apache child sehingga Zend dapat mengeksekusi kode.
Teorinya kurang lebih demikian, mari kita lihat sekarang bagaimana menginstal dan mengkonfigurasinya.
Instalasi APC
APC adalah ekstensi PHP sehingga Anda memiliki 2 cara untuk menginstalnya:
1) Instal APC dari repositori distro kamu.
Saya sarankan untuk menggunakan cara ini bila memungkinkan, untuk menjaga segala sesuatu yang kamu miliki di komputer/server kamu. Menginstall APC dari repositori adalah praktek yang baik
Di Debian dan Ubuntu, APC tersedia di repositori utama dengan nama ini :
APC adalah ekstensi PHP sehingga Anda memiliki 2 cara untuk menginstalnya:
1) Instal APC dari repositori distro kamu.
Saya sarankan untuk menggunakan cara ini bila memungkinkan, untuk menjaga segala sesuatu yang kamu miliki di komputer/server kamu. Menginstall APC dari repositori adalah praktek yang baik
Di Debian dan Ubuntu, APC tersedia di repositori utama dengan nama ini :
root@xubuntu-home:~# apt-cache search apc phpJadi kamu dapat menginstalnya dengan menuliskan script perintah
php-apc - APC (Alternative PHP Cache) module for PHP 5
sudo aptitude install php-apcSementara jika kamu menggunakan Red Hat Enterprise, Centos atau Fedora kamu dapat menggunakan script perintah ini:
sudo yum install php-pecl-apc2) Cara kedua untuk menginstal APC adalah dengan PECL, dengan metode ini kamu akan men-download last source dan meng-compile-nya di komputer kamu. Di Debian dan Ubuntu ini pasti bekerja (nama paket dapat berubah tergantung pada versi Ubuntu / Debian)
$ Sudo apt-get install php-pear php5-dev apache2-threaded-dev build-essential
$ Sudo pecl install apc
APC Setelah terinstal harus diaktifkan pada file konfigurasi PHP: php.ini, jika kamu telah menginstal APC dari paket, APC tersebut sudah diaktifkan dan kamu hanya tinggal me-restart Apache (atau daemon FastCGI seperti FPM) untuk melihat bagian APC di phpinfo () yang akan mengkonfirmasi APC setelah diaktifkan.
Jika tidak, kamu harus menyertakan dalam php.ini baris ini:
extension = apc.soIni cukup untuk memiliki APC dipasang dengan semua parameter default, tapi mungkin kamu ingin mengubah beberapa nilai default. Di antara parameter ada “apc.shm_size”, yang menentukan berapa banyak memori yang digunakan untuk APC, defaultnya adalah 30 MB, tergantung pada aplikasi kamu dan RAM pada server 64, 128 atau bahkan 512 MB.
Berikut ini adalah konfigurasi yang disarankan untuk box dengan RAM 1Gb:
# cat /etc/php5/conf.d/apc.iniUntuk penjelasan lengkap dari pengaturan ini, lihat dokumentasi online.
extension=apc.so
apc.enabled=1
apc.shm_size=128
apc.cache_by_default="1"
apc.shm_segments="1"
apc.ttl="7200"
apc.user_ttl="7200"
apc.gc_ttl="1800"
apc.optimization = 0
apc.num_files_hint="1024"
apc.use_request_time = 1
apc.mmap_file_mask="/tmp/apc.XXXXXX"
apc.enable_cli="0"
apc.slam_defense="0"
apc.file_update_protection="2"
apc.max_file_size="1M"
apc.stat="1"
apc.write_lock="1"
apc.report_autofilter="0"
apc.include_once_override="0"
apc.rfc1867="0"
apc.rfc1867_prefix="upload_"
apc.rfc1867_name="APC_UPLOAD_PROGRESS"
apc.rfc1867_freq="0"
apc.localcache="0"
apc.localcache.size="512"
apc.coredump_unmap="0"
APC termasuk halaman web di mana kamu dapat melihat penggunaan cache, termasuk fragmentasi dan informasi berguna lainnya. Salin apc.php file (terletak di / usr / share / doc / php-apc / apc.php untuk Debian dan Ubuntu) ke dalam document root kamu dan mengarahkan browser kamu ke sana untuk melihat layar seperti ini :
Satu kata peringatan: Jika kamu tidak restart Apache atau PHP-FPM secara berkala, cache kamu bisa menjadi terfragmentasi, karena kamu akan dapat melihat dengan mengunjungi halaman web. Untuk menghindari hal ini, secara berkala kamu harus mengosongkan cache. Saya menggunakan pengaturan cron yang sekali sehari menyebut sebuah halaman web di situs saya, yang saya sebut apc-clear.php, yang mengosongkan cache. Hal ini juga memeriksa bahwa alamat invoking itu bersifat lokal sehingga tidak dapat dipanggil dari luar. Berikut adalah isi dari APC-clear.php:
<?php
if (in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1')))
{
apc_clear_cache();
apc_clear_cache('user');
apc_clear_cache('opcode');
echo json_encode(array('success' => true));
}
else
{
die('SUPER TOP SECRET');
}
Dan ini adalah cron saya:
0 6 * * * /usr/bin/curl --silent http://myserver.com/subdir/apc-clear.php
Kesimpulan
Seperti yang kamu lihat dalam artikel ini, menyiapkan APC sangat mudah dan akan meningkatkan throughput dari halaman php kamu berkali-kali, jadi mengapa kamu tidak mencobanya?
https://www.virtualmin.com/node/15258
For APC running on virtual servers for opcode caching:
Remove apc.ini from /etc/php.d. Do not add the APC configuration into /etc/php.ini (main php.ini which is probably a template used for creation of new virtual servers).
Instead, enable APC on a per-domain basis by modifying the respective /home/domainname.com/etc/php5/php.ini
http://gregrickaby.com/the-perfect-apc-configuration/
APC installation comes with apc.php file, which can be use to monitor APC performance. This file can be found inside APC package OR can be download from http://pecl.php.net/package/APC ( unzip and look for apc.php file).
Once apc.php is downloaded copy it to your domain so that you can assess it.
Now from browser, you can go to http://domain.com/apc.php. I prefer to wait for a day to see the APC performance so we can have clear idea how well our configuration did.
Sample output of APC:
Here, we clearly see that APC is not performing very well as we have 44% misses. To optimize this we can reduce the memory and also we can increase max_file_size and also TTL time so that more can be cached in APC. Normally when missed rate is more than 10% , its better to reconfigure the settings of APC.
Well tuned APC will look like below: