日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

在团800运维工作总结之squid做回源图片的二级缓存

發布時間:2025/5/22 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在团800运维工作总结之squid做回源图片的二级缓存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

# 主機名(3.0加入配置),無此項無法啟動

visible_hostname 172.16.1.80


# 管理員郵箱,會顯示在錯誤信息頁面上,方便發生錯誤時聯系!

cache_mgr yanchao@rd.tuan800.com


# 實現透明代理(squid2.7以上),其中vhost是必須的

http_port 8091 vhost vport

icp_port 3130

# 緩存設置

cache_mem 256 MB

maximum_object_size_in_memory 2 MB


# 替換機制(lru叫做“最近不常用的單元”unit一般就是常說object, 也就是當cache

# 中的內容比如內存或硬盤達到上限時就需要進行數據的換進和換出工作)

memory_replacement_policy lru


# 緩存目錄50G,其中一級目錄16個,二級256個(每個一級下16個二級)

cache_dir ufs /data1/squid/var/cache 500000 16 256

max_open_disk_fds 0


#緩存內容大小控制,當cache目錄被占用到97%時,內容將被清空20%

cache_swap_low 80

cache_swap_high 97


# 錯誤信息目錄

error_directory /usr/local/squid/share/errors/Simplify_Chinese


# 最大和最小緩存對象

minimum_object_size 0 KB

maximum_object_size 30 MB


# 日志格式

logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh %tr

access_log /usr/local/squid/var/logs/page_zs_access_log combined

pid_filename /usr/local/squid/var/logs/squid.pid


# 不記錄store.log

cache_store_log none


# 指定代理服務器IP,2.5版本以上都是以cache_peer指定,sibling是2臺squid服務的緩存不同內容,當一個節點沒有命中去另一個節點查找,主要為了減少負載,后端是1.84 85 86沒命中緩存的圖片裁剪服務器

cache_peer 172.16.1.83 sibling 8091 3130

cache_peer 172.16.1.82 sibling 8091 3130

cache_peer 172.16.1.84 parent 10001 0 no-query originserver round-robin name=resize1

cache_peer 172.16.1.85 parent 10001 0 no-query originserver round-robin name=resize2

cache_peer 172.16.1.86 parent 10001 0 no-query originserver round-robin name=resize3


cache_peer_domain resize1 resize2 resize3


#緩存過期

refresh_pattern -i \.jpg$ 1440 90% 43200 reload-into-ims

refresh_pattern -i \.jpeg$ 1440 90% 43200 reload-into-ims

refresh_pattern -i \.webp$ 1440 90% 43200 reload-into-ims

refresh_pattern -i \.png$ 1440 90% 43200 reload-into-ims


# 允許客戶端所有請求(這里可以設置攔截url,格式如下面兩行緩存設置)

http_access allow all



#設置運行squid用戶,一般不能以root運行

cache_effective_user squid

cache_effective_group squid

~ ? ? ? ? ? ? ? ??



命令

Squid日常維護過程中,常用的一些命令:

1,初始化你在 squid.conf 里配置的 cache 目錄
squid -z
如果有錯誤提示,請檢查你的 cache目錄的權限。
可以使用使用更改目錄權限:
chown -R squid:squid /cache目錄

2,對你的squid.conf 排錯,即驗證 squid.conf 的 語法和配置。
squid -k parse
如果squid.conf 有語法或配置錯誤,這里會返回提示你,如果沒有返回,嘗試啟動squid。

3,在前臺啟動squid,并輸出啟動過程。
/usr/local/squid/sbin/squid -N -d1
如果有ready to server reques相關信息,說明Squid啟動成功。
然后 ctrl + c,停止squid,并以后臺運行的方式啟動它。

4,啟動squid在后臺運行。
squid -s
可以使用 ps -ax |grep squid 來查看squid進程是否存在。

5,停止 squid
squid -k shutdown

6,重引導修改過的 squid.conf
squid -k reconfigure -f /XXX/squid.conf
當squid進行過配置更改后,可以使用該命令進行squid配置重載。

7,把squid添加到系統啟動項
vi /etc/rc.d/rc.local
/usr/local/squid/sbin/squid -s

8,修改cache 緩存目錄的權限。
chown -R squid:squid /cache目錄
cache緩存目錄根據自己配置進行更改,squid用戶和組是 squid,squid
(注:在FreeBSD系統中,如果我們的squid監聽的是80端口時,只有root用戶才能啟動)。

9,修改squid 日志目錄的權限
chown -R squid:squid 定義的日志文件所在目錄
這一步并不是適合每一個使用squid的用戶.意為讓squid有權限在該目錄進行寫操作 。

10,查看你的日志文檔。
more /usr/local/squid/var/logs/access.log | grep TCP_MEM_HIT
該指令可以看到在squid運行過程中,有那些文件被squid緩存到內存中,并返回給訪問用戶。
more /usr/local/squid/var/logs/access.log | grep TCP_HIT
該指令可以看到在squid運行過程中,有那些文件被squid緩存到cache目錄中,并返回給訪問用戶。
more /usr/local/squid/var/logs/access.log | grep TCP_MISS
該指令可以看到在squid運行過程中,有那些文件沒有被squid緩存,而是從原始服務器獲取并返回給訪問用戶。

二.squid命中率分析
/usr/local/squid/bin/squidclient -p 80 mgr:info
/usr/local/squid/bin/squidclient -p 80 mgr:5min
可以看到詳細的性能情況,其中PORT是你的proxy的端口,5min可以是60min

取得squid運行狀態信息: squidclient -p 80 mgr:info
取得squid內存使用情況: squidclient -p 80 mgr:mem
取得squid已經緩存的列表: squidclient -p 80 mgr:bjects. use it carefully,it may crash
取得squid的磁盤使用情況: squidclient -p 80 mgr:diskd
強制更新某個url:squidclient -p 80 -m PURGE?http://www.xxx.com/xxx.php
更多的請查看:squidclient-h 或者 squidclient -p 80 mgr:
查命中率:
squidclient -h IP(具體偵聽IP) -p 80(具體偵聽端口) mgr:info


三、定期清除swap.state內無效數據
/path/to/squid/sbin/squid -k rotate -f /path/to/squid/conf_file
vi /etc/crontab
0??????? 0?????? *?????? *?????? *?????? root??? /usr/local/sbin/squid -k rotate -f /usr/local/etc/squid/squid1.conf
當squid應用運行了一段時間以后,cache_dir對應的swap.state文件就會變得越來越大,里面的無效接口數據越來越多,這可能影響squid的響應時間,因此需要使用rotate命令來使squid清理swap.state里面的無效數據,減少swap.state的大小。




辦公室做的squid給客服用,主要是針對本公司網站圖片做的緩存

visible_hostname 192.168.10.89


cache_mgr yanchao@rd.tuan800.com


http_port 8091 vhost vport

icp_port 3130


cache_mem 30000 MB


maximum_object_size_in_memory 2 MB


memory_replacement_policy lru


cache_dir ufs /data1/squid/var/cache 50000 16 256


max_open_disk_fds 0


cache_swap_low 80

cache_swap_high 97


error_directory /usr/local/squid/share/errors/Simplify_Chinese


minimum_object_size 0 KB

maximum_object_size 30 MB


logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh

access_log /usr/local/squid/var/logs/page_zs_access_log combined

pid_filename /usr/local/squid/var/logs/squid.pid


cache_store_log none


cache_peer 192.168.10.89 sibling 8091 3130

cache_peer 192.168.10.59 sibling 8091 3130

cache_peer * parent 80 0 no-query originserver name=d

cache_peer * parent 80 0 no-query originserver name=j

cache_peer * parent 80 0 no-query originserver name=a

cache_peer * parent 80 0 no-query originserver name=b

cache_peer * parent 80 0 no-query originserver name=c

cache_peer * parent 80 0 no-query originserver name=e

cache_peer * parent 80 0 no-query originserver name=f

cache_peer * parent 80 0 no-query originserver name=g

cache_peer * parent 80 0 no-query originserver name=h

cache_peer * parent 80 0 no-query originserver name=i



cache_peer_domain d *.com

cache_peer_domain a *.com

cache_peer_domain b *.com ?

cache_peer_domain c *.com

cache_peer_domain e *.com

cache_peer_domain f *.com

cache_peer_domain g *.com

cache_peer_domain h *.com ?

cache_peer_domain i *.com

cache_peer_domain j *.com





refresh_pattern -i \.jpg$ 1440 90% 43200 reload-into-ims

refresh_pattern -i \.jpeg$ 1440 90% 43200 reload-into-ims

refresh_pattern -i \.webp$ 1440 90% 43200 reload-into-ims

refresh_pattern -i \.png$ 1440 90% 43200 reload-into-ims


http_access allow all


cache_effective_user squid

cache_effective_group squid

?? ? ? ? ?


轉載于:https://blog.51cto.com/4249964/1746676

總結

以上是生活随笔為你收集整理的在团800运维工作总结之squid做回源图片的二级缓存的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。