搭建效能比squid高很多的varnish伺服器

2021-04-20 11:36:29 字數 3117 閱讀 6270

varnish是一款高效能的開源http加速器,挪威最大的

) 使用3臺varnish代替了原來的12臺squid,效能比以前更好。

varnish的作者poul-henning kamp是freebsd的核心開發者之一,他認為現在的計算機比起2023年已經複雜許多。在2023年時,儲存媒介只有兩種:記憶體與硬碟。但現在計算機

系統的記憶體除了主存外,還包括了cpu內的l1、l2,甚至有l3快取。硬碟上也有自己的快取裝置,因此squid

cache自行處理物件替換的架構不可能得知這些情況而做到最佳化,但作業系統可以得知這些情況,所以這部份的工作應該交給作業系統處理,

這就是 varnish cache設計架構。

注:如果你的gcc版本是4.2.0或更高的版本,可以加上--enable-extra-warnings編譯引數,在出錯時,得到附加的警告資訊。

group_id=155816&package_id=173643&release_id=533569).

2. 建立cache

目錄:mkdir -p /cache/varnish/v  && chown -r nobody:nobody /cache

3.編寫啟動

檔案:cd /usr/local/varnish/sbin

vi start.sh

內容如下:

注:-a 是指定後端

伺服器的ip或hostname,就象squid做revese proxy時的originserver.

不過這個也可以在vcl裡面寫。

-f 是指定所用的vcl的檔案。

-s 指定cache目錄的儲存型別,檔案位置和大小。

-p 是指定varnish的啟動的一些啟動引數,可以根據自己的機器配置來優化varnish的效能。

其他引數已經引數的具體含義可以用varnishd --help 來檢視。

4.編寫vcl:

我的vcl如下:

backend default

#我用的是一台機器做測試,使用的backend用的是127.0.0.1:80.如果varnish機器和

後台的機器分開的。

寫上對應的機器的ip或hostname就可以了。

如果是多個站點在不同的originserver時,可以使用下面配置:

5.啟動varnish:

看到上面資訊說明varnish正確啟動,恭喜你,你已經配置成功了。:)

Mysql count 的多種使用方式效能比較

mysql的count函式用於統計符合條件的記錄數,常用的方式有 1 count 2 count 1 3 count id 4 count col 首先需要明確一點 count函式對於返回的結果集,一行行地判斷,不會統計null值。初學者經常會糾結到底應該使用哪種方式做計數,實際上這四種計數方式是有...

為什麼NIO的效能比IO好

1.io是面向流的,也就是讀取資料的時候是從流上逐個讀取,所以資料不能進行整體以為,沒有緩衝區 nio是面向緩衝區的,資料是儲存在緩衝區中,讀取資料是在緩衝區中進行,所以進行資料的偏移操作更加方便 2,io是阻塞的,當乙個執行緒操作io時如果當前沒有資料可讀,那麼執行緒阻塞,nio由於是對通道操作i...

為什麼NIO的效能比IO好

我目前已知的原因只有這1個 就是由於nio採用緩衝區 通道的方式來傳輸資料,而不是io包的以位元組或字元為單元傳輸資料,增加了一次處理資料的位元組數,而且這種方式更接近於底層作業系統的io方式,所以速度明顯優於io 1.io是面向流的,也就是讀取資料的時候是從流上逐個讀取,所以資料不能進行整體以為,...