私はDrupal 6とUbuntu 11.04でpressflowを実行しています。Varnish httpアクセラレータとVarnish Drupalモジュールをインストールしました。Varnishが実行中であり、admin /のVarnishページ設定/ワニスはこれを確認します。
次のように、ApacheベンチでVarnishをインストールする前後に、リクエストごとの時間を測定しました。
ab -n 10 http://my-site.local/
ワニスをインストールすると、実際にはリクエストごとの時間が約1秒から1.3秒に増えるため、ワニスのhttpアクセラレータの設定に問題があるはずです。
Php.iniで、memory_limitを512Mに設定しました。
Drupalと対話するようにVarnishを構成している間、私は http://groups.drupal.org/node/25425 で提供されるこれらの指示に従いました。
これが私の/ etc/default/varnishの内容です
# Configuration file for varnish
#
# /etc/init.d/varnish expects the variables $DAEMON_OPTS, $NFILES and $MEMLOCK
# to be set from this Shell script fragment.
#
# Should we start varnishd at boot? Set to "yes" to enable.
START=yes
# Maximum number of open files (for ulimit -n)
NFILES=131072
# Maximum locked memory size (for ulimit -l)
# Used for locking the shared memory log in memory. If you increase log size,
# you need to increase this number as well
MEMLOCK=82000
# Default varnish instance name is the local nodename. Can be overridden with
# the -n switch, to have more instances on a single server.
INSTANCE=pressflow
# This file contains 4 alternatives, please use only one.
## Alternative 2, Configuration with VCL
#
# Listen on port 6081, administration on localhost:6082, and forward to
# one content server selected by the vcl file, based on the request. Use a 1GB
# fixed-size cache file.
#
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-u varnish -g varnish \
-S /etc/varnish/secret \
-s malloc,256M"
そして、Apacheベンチを数回実行した後にVarnishモジュールが提供する統計を以下に示します。
41 Client connections accepted
41 Client requests received
29 Cache hits for pass
12 Cache misses
41 Backend conn. success
12 Backend conn. was closed
12 Backend conn. recycles
1 Fetch with Length
11 Fetch chunked
29 Fetch wanted close
11 N struct sess_mem
2 N struct object
4 N struct objectcore
4 N struct objecthead
10 N worker threads
10 N worker threads created
1 N backends
10 N expired objects
40 Objects sent with write
41 Total Sessions
41 Total Requests
29 Total pass
41 Total fetch
16495 Total header bytes
645600 Total body bytes
41 Session Closed
1 Session Linger
3776 SHM records
899 SHM writes
53 SMA allocator requests
4 SMA outstanding allocations
19984 SMA outstanding bytes
5254284 SMA bytes allocated
5234300 SMA bytes free
41 Backend requests made
1 N vcl total
1 N vcl available
1 N total active purges
1 N new purges added
41 HCB Lookups without lock
3 HCB Lookups with lock
3 HCB Inserts
922 Client uptime
新規ユーザーとしてまだコメントできないので、ここで私の返事をします。
初心者にとって、1秒から1.3秒はそれほど大きな違いではなく、ミスが多すぎるようには見えないので、そのようにしています。同じコンテンツで多くのページリクエストをシミュレートするいくつかのテストを実行し、ヒット/ミスを監視します。また、同じサイトでVarnishなしでもう一度テストしましたか?
もう1つは、サーバーの使用可能なリソースに合わせてVarnishストレージのサイズを適切に設定したことを確認することです。これが多すぎると、明らかな理由でシステムを引きずることができます。
何らかの理由でDrupal 7を使用していませんか?Pressflow 7も現在利用可能です。
ブースト+ワニスを使用するオプションもあります。 http://www.trellon.com/content/blog/boosted-varnish-high-performance-caching-made-easy