スポンサーリンク

なぜか、APCがオフになっていたので、有効化しました。
倍ぐらいリクエストの処理スピードが上がって、かなり、軽くなりました。

APCとは

Zend Engineは、スクリプトを実行する前に中間形式にコンパイルし、それを実行します。このコンパイルは、スクリプトにアクセスがあるたびに毎回実行されます。同じファイルをコンパイルしてできる中間形式は常に同じであるため、毎回行うことは無駄です。

APCを利用することで、この無駄をなくし、Webサーバのパフォーマンスを向上させることができます。

APC(Alternative PHP Cache)は、アクセスがあった際に生成した中間コードを捨てずに、ファイル、もしくは共有メモリに記憶し、以後、同じファイルにアクセスされたときに、記憶された中間コードを再利用することで高速化を実現します。

インストール

portsからインストールすることが可能です。

% cd /usr/ports/www/pecl-APC
% make install clean
% apachectl restart apache

phpinfoでapcを確認する

phpinfoの結果を見てます。
apc

APC Support                    enabled

Version                        3.0.10

MMAP Support                   Enabled

MMAP File Mask                 no value

Revision                       $Revision: 3.84 $

Build Date                     Jul 29 2006 23:48:39


	       Directive                  Local Value       Master Value

apc.cache_by_default                    On               On

apc.enable_cli                          Off              Off

apc.enabled                             On               On

apc.file_update_protection              2                2

apc.filters                             no value         no value

apc.gc_ttl                              3600             3600

apc.max_file_size                       1M               1M

apc.mmap_file_mask                      no value         no value

apc.num_files_hint                      1000             1000

apc.optimization                        Off              Off

apc.shm_segments                        1                1

apc.shm_size                            30               30

apc.slam_defense                        Off              Off

apc.stat                                On               On

apc.ttl                                 0                0

apc.user_entries_hint                   100              100

apc.user_ttl                            0                0



設定

%vi /usr/local/etc/php/apc.ini


apc.enabled

1で有効、0で無効。デフォルトは1。

apc.shm_segments

コンパイラキャッシュのために割り当てる共有メモリセグメントの数。共有メモリセグメントが不足したなら、すでにシステムで許されるほど高くapc.shm_sizeをセットしているならこの値を高くして試してください。デフォルトは1。

apc.shm_size

それぞれの共有メモリセグメントのサイズ(MB)。デフォルトでは、いくつかのシステム(多くのBSDの派生がふくまれます)は、共有メモリセグメントのサイズに非常に低い制限があります。 デフォルトは30。

apc.optimization

最適化レベル。 0で最適化は無効です。 大きな値を設定することで、よりアグレッシブな最適化をします。 ささやかなスピードの改善を期待してください。 デフォルトは0。

apc.num_files_hint

あなたのwebサイトでincludeかrequireされる異なったソースファイルの数に関するhintです。わからなければ、0にセットするか、省略してください。 この設定は、主に数千のソースファイルがあるサイトに役立ちます。 デフォルトは1000。

apc.user_entries_hint

num_files_hintのように、ストアする個別のユーザのキャッシュ変数の数に関するhintです。わからなければ、0にセットするか、省略してください。 デフォルトは100。

apc.ttl

他のエントリによって、キャッシュエントリスロットが必要とされた場合に備え、キャッシュエントリのスロットでのアイドルのために許された秒数です。 0でなければ、より新しいエントリがキャッシュされない間、あなたのキャッシュが腐りかけたエントリで潜在的にいっぱいになることを意味します。 デフォルトは0。

apc.user_ttl

他のエントリによって、ユーザキャッシュエントリスロットが必要とされた場合に備え、キャッシュエントリのスロットでのアイドルのために許された秒数です。 0でなければ、より新しいエントリがキャッシュされない間、あなたのキャッシュが腐りかけたエントリで潜在的にいっぱいになることを意味します。 デフォルトは0。


ベンチマーク

APCが有効になると2倍ぐらいの処理スピードになった。
(それでもかなり遅い。。。)。

APC有効

kaworu% ab -c 1 http://paranoid.dip.jp/youtube/video/aQZWnci3tYA/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking paranoid.dip.jp (be patient).....done


Server Software:        Apache
Server Hostname:        paranoid.dip.jp
Server Port:            80

Document Path:          /youtube/video/aQZWnci3tYA/
Document Length:        59958 bytes

Concurrency Level:      1
Time taken for tests:   7.427618 seconds
Complete requests:      1
Failed requests:        0
Write errors:           0
Total transferred:      60097 bytes
HTML transferred:       59958 bytes
Requests per second:    0.13 [#/sec] (mean)
Time per request:       7427.618 [ms] (mean)
Time per request:       7427.618 [ms] (mean, across all concurrent requests)
Transfer rate:          7.81 [Kbytes/sec] received

Connection Times (ms)
	      min  mean[+/-sd] median   max
Connect:       53   53   0.0     53      53
Processing:  7374 7374   0.0   7374    7374
Waiting:     2671 2671   0.0   2671    2671
Total:       7427 7427   0.0   7427    7427


APC無効

kaworu% ab -c 1 http://paranoid.dip.jp/youtube/video/aQZWnci3tYA/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking paranoid.dip.jp (be patient).....done


Server Software:        Apache
Server Hostname:        paranoid.dip.jp
Server Port:            80

Document Path:          /youtube/video/aQZWnci3tYA/
Document Length:        59958 bytes

Concurrency Level:      1
Time taken for tests:   16.678287 seconds
Complete requests:      1
Failed requests:        0
Write errors:           0
Total transferred:      60097 bytes
HTML transferred:       59958 bytes
Requests per second:    0.06 [#/sec] (mean)
Time per request:       16678.288 [ms] (mean)
Time per request:       16678.288 [ms] (mean, across all concurrent requests)
Transfer rate:          3.48 [Kbytes/sec] received

Connection Times (ms)
	      min  mean[+/-sd] median   max
Connect:      450  450   0.0    450     450
Processing: 16228 16228   0.0  16228   16228
Waiting:     5343 5343   0.0   5343    5343
Total:      16678 16678   0.0  16678   16678



スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー