日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

ATS程序功能和使用方法详解

發布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ATS程序功能和使用方法详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自https://blog.zymlinux.net/index.php/archives/374

Apache?Traffic?Server的程序文件,與傳統的服務器系統有大不同,這里我們將會對這些文件進行詳細的解讀,并盡可能的對程序的功能和基本用法、參數等進一步說明,以利于新入門的同學們快速上手。

本文中,我們以Fedora系統的安裝結構進行解釋,其他系統請參考《ATS安裝大全》中介紹的路徑做(鬧補)變換。

ATS程序綜述

ATS是一個服務器系統,相比多數服務器設計的單一程序設計,ATS設計的較為復雜,主要服務器程序可以分為:

·?代理服務器?>?代理服務器是ATS業務服務器,負載http代理和緩存職能

·?管理服務器?>?管理服務器包括兩部分,分別是server系統管理和服務器控制

·?獨立日志服務器?>?專用的日志收集、中轉服務器

另外ATS還附帶了其他工具程序:

·?日志查看、分析工具

·?系統配置管理工具

·?模塊開發配套工具

·?性能測試工具

典型的ATS安裝會包括如下程序,我們將會按照上述的分類對他們進行介紹:

traffic_cop

traffic_line

traffic_logcat

traffic_logstats

traffic_manager

traffic_sac

traffic_server

traffic_shell

trafficserver

tstop

tsxs

ATS主要服務器程序

traffic_server?traffic_manager?traffic_cop?traffic_sacATS的主要服務器程序,是我們日常最常用到的服務器,我們將對他們的功能和使用進行詳解的講解

代理服務器?traffic_server

traffic_serverATS的業務處理服務器,也是最ATS中最復雜的主程序,這個程序可以單獨運行,也可以在traffic_manager管理下運行,主要包括服務器、回歸測試、初始化cache系統三大功能塊,默認功能是服務器。下面是traffic_server可以接受的命令行參數:

Usage:?./traffic_server?[--SWITCH?[ARG]]

??switch__________________type__default___description

??-l,?--lock_memory???????int???0?????????Lock?process?in?memory?(must?be?root)

??-n,?--net_threads???????int???8?????????Number?of?Net?Threads

??-Z,?--cluster_threads???int???1?????????Number?of?Cluster?Threads

??-U,?--udp_threads???????int???0?????????Number?of?UDP?Threads

??-a,?--accept_thread?????tog???false?????Use?an?Accept?Thread

??-b,?--accept_till_done??tog???true??????Accept?Till?Done

??-p,?--httpport??????????str???(null)????Port?descriptor?for?HTTP?Accept

??-P,?--cluster_port??????int???0?????????Cluster?Port?Number

??-o,?--dprintf_level?????int???0?????????Debug?output?level

??-V,?--version???????????tog???false?????Print?Version?String

??-R,?--regression????????int???0?????????Regression?Level?(quick:1..long:3)

??-r,?--regression_test???str???(null)????Run?Specific?Regression?Test

??-T,?--debug_tags????????str???(null)????Vertical-bar-separated?Debug?Tags

??-B,?--action_tags???????str???(null)????Vertical-bar-separated?Behavior?Tags

??-i,?--interval??????????int???0?????????Statistics?Interval

??-M,?--remote_management?tog???false?????Remote?Management

??-d,?--management_dir????str???/opt/at..?Management?Directory

??-C,?--command???????????str???(null)????Maintenance?Command?to?Execute

??-k,?--clear_hostdb??????on????false?????Clear?HostDB?on?Startup

??-K,?--clear_cache???????on????false?????Clear?Cache?on?Startup

??-v,?--vingid????????????str???(null)????Vingid?Flag

??-?,?--accept_mss????????int???0?????????MSS?for?client?connections

??-t,?--poll_timeout??????int???10????????poll?timeout?in?milliseconds

??-h,?--help??????????????????????????????HELP!

服務器功能:

服務器功能是?traffic_server?默認的功能,即不用任何參數運行?traffic_server?即啟動代理/緩存服務器功能。當然,默認的服務器模式有諸多限制,這也是為什么ATS設計了管理服務器的專用程序的原因。我們先介紹ATS的服務器功能,后續的配合在管理服務器階段介紹。

下面所有這些參數都是?traffic_server?的服務器功能參數:

?-l,?--lock_memory???????int???0?????????Lock?process?in?memory?(must?be?root)

??-n,?--net_threads???????int???8?????????Number?of?Net?Threads

??-Z,?--cluster_threads???int???1?????????Number?of?Cluster?Threads

??-U,?--udp_threads???????int???0?????????Number?of?UDP?Threads

??-a,?--accept_thread?????tog???false?????Use?an?Accept?Thread

??-b,?--accept_till_done??tog???true??????Accept?Till?Done

??-p,?--httpport??????????str???(null)????Port?descriptor?for?HTTP?Accept

??-P,?--cluster_port??????int???0?????????Cluster?Port?Number

??-o,?--dprintf_level?????int???0?????????Debug?output?level

??-V,?--version???????????tog???false?????Print?Version?String

??-T,?--debug_tags????????str???(null)????Vertical-bar-separated?Debug?Tags

??-B,?--action_tags???????str???(null)????Vertical-bar-separated?Behavior?Tags

??-i,?--interval??????????int???0?????????Statistics?Interval

??-M,?--remote_management?tog???false?????Remote?Management

??-d,?--management_dir????str???/opt/at..?Management?Directory

??-v,?--vingid????????????str???(null)????Vingid?Flag

??-?,?--accept_mss????????int???0?????????MSS?for?client?connections

??-t,?--poll_timeout??????int???10????????poll?timeout?in?milliseconds

其中?-M?-d?參數是與manager配合用的,-v是用來做內存檢查工具Vingid配合用的,而其他所有的參數,都是可以在標準的records.config中找到對應的配置項目的。這里提供的參數主要用來覆蓋records.config中的參數來的。

traffic_server的默認服務器模式,主要是用來做一些臨時測試等工作,由于服務器設計端口綁定,文件打開等,會需要特別權限,這個在?traffic_cop?traffic_server的管理下,會有許多特殊設計,因此不建議在生產服務器上手動執行這個默認服務器模式,這會造成很多文件權限等方面的困擾。

回歸測試:

回歸測試是面向業務的server功能測試,是目前ATS默認編譯進二進制代碼中的功能,下面這2個參數是跟測試相關的:

?-R,?--regression????????int???0?????????Regression?Level?(quick:1..long:3)

??-r,?--regression_test???str???(null)????Run?Specific?Regression?Test

回歸測試的執行方法:

traffic_server?-R?1

REGRESSION_TEST?initialization?begun

REGRESSION?TEST?SSLReverseHostname?started

????REGRESSION_RESULT?SSLReverseHostname:???????????????????????PASSED

REGRESSION?TEST?SSLWildcardMatch?started

????REGRESSION_RESULT?SSLWildcardMatch:?????????????????????????PASSED

REGRESSION?TEST?DNS?started

REGRESSION?TEST?RegressionSM?started

????REGRESSION_RESULT?RegressionSM:?????????????????????????????PASSED

REGRESSION?TEST?SDK_API_ENCODING?started

[SDK_API_ENCODING]?TSStringPercentEncode?:?[TestCase1]?<?<PASS>>?{?ok?}

[SDK_API_ENCODING]?TSStringPercentEncode?:?[TestCase2]?<?<PASS>>?{?ok?}

[SDK_API_ENCODING]?TSStringPercentDecode?:?[TestCase1]?<?<PASS>>?{?ok?}

[SDK_API_ENCODING]?TSStringPercentDecode?:?[TestCase1]?<?<PASS>>?{?ok?}

[SDK_API_ENCODING]?TSBase64Encode?:?[TestCase1]?<?<PASS>>?{?ok?}

[SDK_API_ENCODING]?TSBase64Decode?:?[TestCase1]?<?<PASS>>?{?ok?}

????REGRESSION_RESULT?SDK_API_ENCODING:?????????????????????????PASSED

REGRESSION?TEST?SDK_API_OVERRIDABLE_CONFIGS?started

。。。

***?TEST?172?***?STARTING?***

***?TEST?172?***?PASSED?***

Tests?Passed:?172

Tests?Failed:?0

????REGRESSION_RESULT?PARENTSELECTION:??????????????????????????PASSED

REGRESSION_TEST?DONE:?PASSED

這是執行一遍快速回歸測試的最簡單的用法,建議用作開發測試的最基礎步驟?,F在官網的代碼提交,都會直接觸發一個build然后跑一遍快速回歸,以確保代碼不會break基礎的功能。這個測試的結果會比較基礎,不一定能夠涵蓋的很周全。如有業務方面的需求,不能作為業務測試的替代。

同時?-r?提供了一個快速執行某一個特定回歸測試的選項,如你希望快速運行?Cache_vol?這個測試,只需要用?traffic_server?-R?1?-r?Cache_vol?就可以了,詳細的測試功能列表可以從標準測試里摘取。

回歸測試需要注意的事情:

o?多數情況下,-R?這個回歸測試,需要serverroot權限運行

o?某些版本在回歸測試的時候,會過不去,主要是因為目錄結構的原因,回歸測試推薦的使用默認的目錄結構,改變prefixconfigure參數是安全的

cache系統初始化:

Cache的初始化是在?traffic_server?第一次運行的時候自動后臺完成的。隨著系統的運行,我們的cache系統可能需要從新清理等,如需要測試以及大型配置變化。下面的幾個命令參數是可以達成這個任務的:

-C,?--command???????????str???(null)????Maintenance?Command?to?Execute

-k,?--clear_hostdb??????on????false?????Clear?HostDB?on?Startup

-K,?--clear_cache???????on????false?????Clear?Cache?on?Startup

-C?參數是一個子命令:

traffic_server?-Chelp

HELP

???????????list??List?cache?configuration

??????????check??Check?the?cache?(do?not?make?any?changes)

??????????clear??Clear?the?entire?cache

????clear_cache??Clear?the?document?cache

???clear_hostdb??Clear?the?hostdb?cache

???????????help??Obtain?a?short?description?of?a?command?(e.g.?'help?clear')

其中?-Cclear?的功能等于clear_cacheclear_hostdb的和,即?-k?與?-K?的和

-k?或?-Cclear_hostdb?是清理掉dns的緩存數據。

-K?或?-Cclear_cache?是清理掉http緩存的數據。

通常,-Cclear?是作為還原系統cache狀態用,常作為測試中的一個必要步驟。要執行這些參數,需要將正在運行的server進程關閉。

管理服務器?traffic_manager?traffic_cop

管理服務器包括兩部分,分別是traffic_managertraffic_cop。獨立于主業務服務器traffic_server之外。

管理程序traffic_manager

traffic_manager?是負責traffic_server的啟動、更新管理等工作的程序,其主要功能包括:

以安全的方式啟動traffic_server

ATS是一個服務器,服務器進程的安全性是需要嚴肅關注的,而traffic_server是一個復雜的http業務服務器,如果以root權限執行是有很大的安全隱患的。在系統上,traffic_manager是以root權限運行的,它會負責打開traffic_server監聽的端口,并以普通用戶啟動traffic_server,這樣即使是需要監聽80端口等,也能夠讓traffic_server執行在安全的權限內。

提供管理界面,包括管理APIsocket接口

ATS是一個復雜的服務器,有如traffic_line?traffic_shell等管理工具,也有基于unix?socket的管理API界面。如traffic_line?-s’?設置參數,就是通過unix?socket與配置系統進行通信的。traffic_manager同時也會與traffic_server建立通信機制,確保配置的變化可以對traffic_server生效。

監控配置文件變化、同步集群配置文件

ATS的配置文件更新機制很復雜,在集群中做配置同步的操作更復雜,如何讓配置管理做得用戶感受很好而且高效?ATS設置了一些復雜的協作機制,traffic_manager是所有這些配置管理的核心。

負責服務器信息統計與匯總展示

ATStraffic_server進程有很多統計數據會在線程內進行統計,如何進行線程間統計匯總?如何讓traffic_line等客戶端可以查詢這些數據?這也是traffic_manager解決的問題。

traffic_manager?包含如下參數,這些參數都是用來調整配置文件參數的。所有參數都有對應的records.config項目。

zymMBPr:bin?zym$?sudo?/opt/ats/bin/traffic_manager?-h

[E.?Mgmt]?log?==>?[TrafficManager]?using?root?directory?'/opt/ats'

----------------------------------------------------------------------------

????Traffic?Manager?Usage:?(all?args?are?optional)

????traffic_manager?[options]

????????-proxyPort?????<port>??Port?to?have?proxy?listen?on,?overrides?records.config.

????????-tsArgs????????[...]???Args?to?proxy,?everything?till?eol?is?passed.

????????-webPort???????</port><port>??Port?for?web?interface.

????????-clusterPort???</port><port>??Cluster?Multicast?port

????????-groupAddr?????<addr>??Cluster?Multicast?group,?example:?"225.0.0.37".

????????-clusterRSPort?<port>??Cluster?Multicast?port.

????????-path??????????<path>??Root?path?for?config?files.

????????-recordsConf???<fname>?General?config?file.

????????-debug?????????<tags>??Enable?the?given?debug?tags

????????-action????????</tags><tags>??Enable?the?given?action?tags.

????????-version?or?-V?????????Print?version?id?and?exit.

????????-vingid????????<id>????Vingid?Flag

????[...]?can?be?one+?of:?[config?process?node?cluster?local?all]

----------------------------------------------------------------------------

traffic_manager的主要使用方式是由traffic_cop調用,但是也可以單獨運行traffic_manager,它也會安全的啟動traffic_server。上述所有參數都不是必需的。下面是單獨以root權限運行traffic_manager后的結果:

???nobody?????????14335???2.6??1.3??2627116?112380?s001??S+???10:14下午???0:00.78?/opt/ats/bin/traffic_server?-M?--httpport?8080:fd=8

????zym????????????14339???0.0??0.0??2423572?????24?s000??S+???10:15下午???0:00.00?grep?traffic

????nobody?????????14333???0.0??0.1??2482036???7320?s001??S+???10:14下午???0:00.10?/opt/ats/bin/traffic_manager

????root???????????14332???0.0??0.0??2432908????828?s001??S+???10:14下午???0:00.00?sudo?/opt/ats/bin/traffic_manager

例子中我們可以看到,traffic_server附帶了?-M?--httpport?8080:fd=8?的參數,traffic_servertraffic_manager就是通過這樣的方式傳送監聽端口信息的。

值班警察traffic_cop

ATS系統中,traffic_cop占有絕對權威的控制力,traffic_cop是啟動traffic_manager的,同時又是負責監控traffic_servertraffic_manager工作情況的。traffic_cop具有如下職能:

負責啟動traffic_manager

trafficserver是一個可以用于普通init環境的unix?shell腳本,這個腳本就是調用traffic_cop用來啟動整個ATS服務。

負責監控traffic_manager的健康心跳

cop進程會通過查詢manager接口的方式來判斷manager是否健康

負責監控traffic_serfver的健康心跳

如果你去debug?ATShttp流程,就會注意到其中有個一個定時的請求在刷,請求的是一個叫synthetic.txt的文件,我們通常叫做synthetic健康檢測。這就是traffic_cop檢測traffic_server進程心跳情況的請求。這個請求是通過特殊內部端口8083進入,使用的請求是:GET?http://127.0.0.1:%d/synthetic.txt?HTTP/1.0\r\n\r\n

o?負責在traffic_manager掛掉的情況下重啟

負責在需要的情況下,安全重啟traffic_manager

traffic_line?-L?最終會重啟traffic_server?traffic_manager,這其中就是一個典型的主動重啟例子。

traffic_cop沒有任何參數,所有參數的傳遞都需要通過ENV環境變量的方式傳遞給traffic_cop,其中主要的環境變量估計就是TS_ROOT,這個環境變量參數當初設計用作定制配置,目前因為代碼都已經開源并且各個目錄都可以通過config.layout以及configure命令定制,因此已經基本沒有價值。

traffic_cop仍是可以做詳細調試的,用的是打trace日志的方式,你需要做一些特殊編譯:

--enable-cop-debug??????Enable?Traffic?Cop?debugging?(for?developers)

啟動traffic_server進程最安全的方式就是直接運行traffic_cop啦。在你需要手工kill整個ATS服務的時候,先kill?traffic_cop是必需的,否則它會一直不斷重啟traffic_manager來確保服務不會中斷。

獨立日志服務器?traffic_sac

SAC=Stand?Alone?Collation,是獨立日志收集服務器的意思。為啥叫獨立日志收集服務器呢?那是因為traffic_server本身既可以配置為日志發送客戶端,也可以配置為日志收集服務器,而此時traffic_server是可以作為多重功能服務的。而獨立日志服務器的目標是只提供單一日志收集功能,原先商業產品中,這是作為單獨的模塊可以賣的,現在開源后,這個獨立日志服務器仍可以起到簡化部署復雜度等,用作日志中轉服務器等。?關于這個服務器,我用的也比較少,歡迎補充。

ATS工具程序

ATS為了配置管理以及開發測試等,均配備了良好的工具程序,這些工具程序的設計,將ATS的產品特性提高到了很高的層面。

日志查看、分析工具

ATS默認的access日志是以二進制的squid日志格式存儲的,這個文件默認為squid.blog,因為這個日志是二進制的,因此沒法直接用cat?tail等文本工具直接看,而需要專用的工具traffic_logcat?traffic_logstats

blog查看工具?traffic_logcat

traffic_logcat的工具類似于標準的cat程序,只是這個工具作用于squid.blog文件。使用方法通常是traffic_logcat?squid.blog?cat模式,或?traffic_logcat?-f?squid.blog?tail模式。

traffic_logcat有如下參數可以使用:

Usage:?traffic_logcat?[-o?output-file?|?-a]?[-CEhSTVw2]?[input-file?...]

??switch__________________type__default___description

??-o,?--output_file???????str???(null)????Specify?output?file

??-a,?--auto_filenames????tog???false?????Automatically?generate?output?names

??-f,?--follow????????????tog???false?????Follow?the?log?file?as?it?grows

??-C,?--clf???????????????tog???false?????Convert?to?Common?Logging?Format

??-E,?--elf???????????????tog???false?????Convert?to?Extended?Logging?Format

??-h,?--help??????????????tog???true??????Give?this?help

??-S,?--squid?????????????tog???false?????Convert?to?Squid?Logging?Format

??-T,?--debug_tags????????str???(null)????Colon-Separated?Debug?Tags

??-V,?--version???????????tog???false?????Print?Version?Id

??-w,?--overwrite_output??tog???false?????Overwrite?existing?output?file(s)

??-2,?--elf2??????????????tog???false?????Convert?to?Extended2?Logging?Format

blog分析工具?traffic_logstats

traffic_logstats是用來分析squid.blog的,具有高效高速的特性,分析數據包括匯總以及各個域名分拆報告,是快速了解服務器訪問情況的一個好工具。

(to?be?continued)

系統配置管理工具

ATS是一個在產品運維上具有極好的設計的產品,系統的可運維性在它提供的工具上具有非常好的體現。默認的ATS系統提供三個工具可用:

命令行工具?traffic_line?traffic_line應該是日常使用的最多的一個ATS命令,是ATS命令行界面的核心,這個命令的主要參數包括:

Usage:?traffic_line?[--SWITCH?[ARG]]

??switch__________________type__default___description

??-q,?--query_deadhosts???on????false?????Query?congested?sites

??-r,?--read_var??????????str???(null)????Read?Variable

??-s,?--set_var???????????str???(null)????Set?Variable?(requires?-v?option)

??-v,?--value?????????????str???(null)????Set?Value?(used?with?-s?option)

??-h,?--help??????????????????????????????Help

??-x,?--reread_config?????on????false?????Reread?Config?Files

??-M,?--restart_cluster???on????false?????Restart?traffic_manager?(cluster?wide)

??-L,?--restart_local?????on????false?????Restart?traffic_manager?(local?node)

??-S,?--shutdown??????????on????false?????Shutdown?traffic_server?(local?node)

??-U,?--startup???????????on????false?????Start?traffic_server?(local?node)

??-B,?--bounce_cluster????on????false?????Bounce?traffic_server?(cluster?wide)

??-b,?--bounce_local??????on????false?????Bounce?local?traffic_server

??-C,?--clear_cluster?????on????false?????Clear?Statistics?(cluster?wide)

??-c,?--clear_node????????on????false?????Clear?Statistics?(local?node)

??-Z,?--zero_cluster??????str???(null)????Zero?Specific?Statistic?(cluster?wide)

??-z,?--zero_node?????????str???(null)????Zero?Specific?Statistic?(local?node)

??-V,?--version???????????tog???false?????Print?Version?Id

這個命令包括:

讀寫配置選項?-r?-s?XXX?-v?YYY

讀寫配置選項是一個常見的日常任務,ATS的配置方式中,traffic_line可以方便的閱讀和調整records.config?中的配置項目,并且如果配置項是動態生效的會即時生效。?如查詢配置選項:

zymtest1?trafficserver?#?traffic_line?-r?proxy.config.http.negative_caching_enabled

0

如修改配置選項,靜悄悄的成功了:

zymtest1?trafficserver?#?traffic_line?-s?proxy.config.http.negative_caching_enabled?-v?1

zymtest1?trafficserver?#

查詢系統統計數據?-r

ATS的所有stats統計數據,都是通過標準的接口提供給API的,采用的與records.config一樣的接口,因此也可以用?traffic_line?-r?來讀取:

reload配置文件?-x

ATS的配置文件,包括records.config都是可以直接修改的,多數配置文件是可以在線reload的,修改完成以后,可以運行:traffic_line?-x?reload相關配置文件。

啟動、重啟單機以及整個集群?-M?-L?-S?-U

ATS獨特的3個程序的服務器設計,使得ATS可以在服務器的起停方面有一些特別的效果,我們可以用traffic_line控制本機的server的啟動、停止,重啟,甚至整個集群的重啟。?-U?-S?-L分別是用來控制本機server的啟動、關閉、重啟。?-M?是用來控制集群的所有機器對server重啟,非常高效的集群命令。

清零單機及整個集群的統計數據?-C?-c?-Z?-z

-C?-c分別用來清理集群和本機的統計系統,所有統計數據清零。?-Z?-z分別用來清零集群和本機的特定的統計項目。

ATSrecords.config配置項大約在500個左右,再加上內部的統計數據,以及可以擴展的stats.config.xml中配置的匯總的數據,可以?-r?查詢的數據是特別多的,如果希望列出全部的項目,可以參考?http_ui?界面中的?{stat}?列出的數據。

shell界面工具?traffic_shell

*******?(to?be?continued)

服務器狀態現實工具?tstop

*******?(to?be?continued)

模塊開發配套工具

ATS有很強的擴展API體系,具有非常方便的擴展能力,插件開發也是ATS獲得大家認可的關鍵點,如果提供一個方便易用的業務插件開發環境?ATS學習了Apache?Httpd項目的axs命令,提供了一個tsxs腳本,可以幫助大家建立一致的開發環境,并提高開發測試效率。

/opt/ats/bin/tsxs?:?a?tool?to?compile,?link?and?install?trafficserver?plugins.

compiling/linking:

-o?modulename.so????????????????????????##?the?name?of?the?module

-I?include??????????????????????????????##?add?-Iinclude?to?CFLAGS

-L?library?path?????????????????????????##?add?-Lpath?to?LDFLAGS

-l?library??????????????????????????????##?add?-llib?to?the?LDFLAGS

installing:

-o?modulename.so????????????????????????##?the?name?of?the?module

-i??????????????????????????????????????##?install?the?object

Example:

????/opt/ats/bin/tsxs?-I?/foo/include?-L?/foo/lib?-l?somelib?-o?tsmodule.so?src1.c?src2.c?...

tsxs有兩個主要功能:

編譯

上面的例子中就是一個編譯的典型例子,其中?-I?-L?-l都是可以根據需要放上多個的。

安裝

安裝就是將編譯生成的so文件,安裝到系統的ATS插件目錄中去。

tsxs命令將會使用與ATS主程序編譯一樣的cflags等來編譯你的模塊,在使用tsxs命令中,還需要注意:參數后面盡量跟空格,如?-I?/foo/include,不要寫成?-I/foo/include

性能測試工具

默認安裝中,會有兩個proxy性能測試工具安裝,為什么要打包進去這兩個工具呢,是因為ATS是個高性能的proxy+cache系統,普通的性能測試工具很難壓測這個系統,只有使用ATS系統提供的測試工具,才能壓的住。

http_load

我們附帶的這個http_load程序,是在原http_load的基礎上,對性能做了優化以提供更高的壓測性能,它會將所有的URL預先加載到內存里,并預先生成相應的http請求,以快速發送請求。當然,副作用就是消耗的內存多了。

jtest

這是ATS系統專用的測試工具,在普通情況下,甚至能達到1:10CPU利用率,即1CPUjtest,可以壓測ATS達到10CPU利用率的效果,jtest的用法,請參考專門的jtest手冊。

con??new???ops????1byte??lat???bytes/per???????svrs??new??ops????total???time??err
100???68??278.0?????7?????7?3882974/38829????195??195??195??6467784????0.6????0
100??110??502.4????18????19?7653748/76537????339??339??339??12934100???1.6????0

這些參數aaa,能說一下具體的參數詳解嗎?

con=并發連接數
new=新建連接數
ops=請求數
都是每秒統計平均數

1byte=首字節響應時間
lat=最終請求完成時間
srvs后面是源服務器方面的統計。

性能測試工具并不是默認就一定有的,如http_load是只能在Linux平臺上編譯的,因此在BSD平臺上http_load是不會安裝的。

總結

以上是生活随笔為你收集整理的ATS程序功能和使用方法详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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