varnish cache使用測試

2021-06-22 10:16:20 字數 2314 閱讀 7255

varnish cache是乙個web加速軟體,用作web服務加速的反向**,與squid不同的是它建立在較新的系統核心呼叫上,並且主要是使用記憶體作為快取,它現有的使用者有facebook等,據使用者反饋,其與squid相比,相同的訪問量下連線數大大減少。

在另外乙個伺服器上編譯安裝varnish 3.0(ip:192.168.159.5),預設安裝路徑,安裝過程可參考官方文件。

編輯varnish的預設配置檔案(/usr/local/etc/varnish/default.vcl):

varnish acl配置檔案

#首先設定乙個後端伺服器

backend default

sub vcl_recv else

}#把除了以下這些型別請求以外的訪問請求全部直接管道傳送到後端的伺服器

if (req.request != "get" &&

req.request != "head" &&

req.request != "put" &&

req.request != "post" &&

req.request != "trace" &&

req.request != "options" &&

req.request != "delete")

#只有get與head方法才會使用lookup,使用快取。

#如果請求的是php頁面直接**到後端伺服器

#設定的快取ttl為一小時

return (deliver);

} sub vcl_deliver

sub vcl_error + obj.response + + req.xid + ;

return (deliver);

} sub vcl_init

sub vcl_fini

#

新增varnishd程序使用者www,使用者組www,建立/var/vcache目錄,使www使用者有許可權可讀寫。

groupadd www

useradd www -g www

mkdir /var/vcache

chown -r www:www /var/vcache

chmod -r 750 /var/vcache

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 300

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

執行sysctl -p 重新按配置檔案設定核心引數。

啟動varnishd

varnishd -a 0.0.0.0:80 -f /usr/local/etc/varnish/default.vcl -t 127.0.0.1:2000 -s file,/var/vcache/,1g -u www

引數說明:-f指定了配置檔案,-t是指定命令列管理介面監聽位址,-s file指定了使用檔案做快取,1g是快取檔案大小,-u就是程序的使用者了。

在客戶端訪問 ,高頻率重新整理頁面觀察varnishd一端netstat -n輸出,可以發現varnish端到後端(apache)的tcp連線幾乎一閃而過,很快就釋放掉。

解決後端伺服器不能日誌記錄真實訪問者ip的問題,修改apache日誌格式。

logformat "%i %h %l %u %t \"%r\" %>s %b \"%i\" \"%i\""  varnish_combined

之後修改apache的虛擬主機日誌格式或者預設日誌格式為 varnish_combined.

使用Spring TestContext 測試框架

至於spring testcontext是個什麼東西,各位只要google下就可以知道了。spring testcontext為什麼好?我只說一點,只使用junit進行單元測試時,資料庫現場容易遭受破壞,而spring testcontext剛可以很好的做到單元測試後恢復現場,使用的是事務回滾機制。...

使用Apache ab測壓

乙個在高壓訪問下,能承受很高峰值的訪問併發才能稱得上是乙個好的 那麼作為乙個程式設計師,當你搭建好你的 之後,你應該怎麼測試你的 併發訪問量呢?apache benchmark 簡稱ab 是apache安裝包中自帶的壓力測試工具 簡單易用。使用起來非常的簡單和方便。不僅僅是可以apache伺服器進行...

使用python測測你的系統最多能建立多少個執行緒

使用python測測你的系統最多能建立多少個執行緒 2012 12 09 08 27 00 收藏 使用乙個迴圈,不斷的建立執行緒,直到出現異常,才通知它們。python真是個好東西。如下 usr bin env python coding gbk import threading import ti...