digitorum.ru

Как меня найти

Профиль

icq: 4415944

Alternative PHP Cache (APC) несколько удивил.

APC, nix, php

Опять продолжаем уничтожать "тестовый стенд" (FreeBSD 9.0).

Для начала APC надо поставить. Не будем выпендриваться и ставить последние тестовые сборки, а поставимто, что точно будет работать. Опять же ставим из портов:

cd /usr/ports/www/pecl-APC
make config
make install
make clean

 

Поставилась версия 3.1.9. Ну и отлично (на данный момент существует версия 3.1.14).

Лезем в php.ini и в него пишем что-то типа этого:

[apc]
apc.enabled=1
apc.shm_segments=1
apc.shm_size=64M
apc.ttl=7200
apc.user_ttl=7200
apc.enable_cli=1
apc.stat=1

 

Перезагружаем апач:

/usr/local/sbin/apachectl restart

 

Пишем простецкий скрипт:

<?php
	
	
	$time_start = microtime(true);
	
	for($i=0;$i<1000000;$i++) {
		apc_add('key' . $i, 'MyTestString');
	}
	
	echo "Wrire: " . ( microtime(true) - $time_start ) . " seconds\n";
	
	$time_start = microtime(true);
	
	for($i=0;$i<1000000;$i++) {
		apc_fetch('key'. $i);
	}
	
	echo "Read: " . ( microtime(true) - $time_start ) . " seconds\n";

?>

 

И, если честно, результат меня немного удивил. Memcache и redeis c данной задачей (просто сохранить значение до лучших времен) справляются значительно хуже...

Wrire: 18.032884120941 seconds
Read: 4.9028170108795 seconds

 

В целом оно и понятно почему, но все равно производительность APC порадовала.

shutdown -p now

 

Возможно будет интересно: