轉載: https://www.cnblogs.com/finer/archive/2018/02/28/8482594.htmljavascript
訪問性能測試控制檯php
本文檔主要目標是規範使用性能測試過程當中需監控的各項技術指標,描述各指標項的具體含義,並給出相應的監控工具與方法說明。本文檔將做爲測試監控的指導性規範,用以選取監控關注指標,使用監控工具。html
監控指標及監控工具適用於使用性能測試進行性能測試項目技術質量評價依據。 預期讀者爲測試管理人員、測試實施人員、技術支持人員、項目質量管理人員、項目管理人員等系統技術質量相關人員。前端
相關的指標定義及解釋能夠參照:性能測試指標,本章可能會增長及減小相關指標的描述,並不與性能測試指標中相關指標衝突。java
業務指標主要包括併發用戶數、響應時間、處理能力,成功率這四個指標,目前大部分壓測工具都能將這些指標放在壓測工具裏面。python
性能測試分佈式壓測工具,將相關業務指標集成在平臺上。mysql
經過後臺日志log,採用分析工具也可進行分析得出TPS,響應時間等。linux
指標類型 | 指標名稱 | 指標描述 |
---|---|---|
CPU | CPU utilization | CPU 的使用時間百分比 |
System mode CPU utilization | 在系統模式下使用 CPU 的時間百分比 | |
User mode CPU utilization | 在用戶模式下使用 CPU 的時間百分比 | |
Memory | Page-in rate | 每秒鐘讀入到物理內存中的頁數 |
Page-out rate | 每秒鐘寫入頁面文件和從物理內存中刪除的頁數 | |
Paging rate | 每秒鐘讀入物理內存或寫入頁面文件的頁數 | |
Disk | Disk rate | 磁盤傳輸速率 |
性能測試壓測工具監控操做系統指標主要有:
CPU%:全部CPU資源利用率
網絡流量:每秒入網出網多少Kb
磁盤:每秒讀寫多少Kb ios
Linux提供豐富的命令進行監控,針對CPU、Memory、I/O等有一些列命令及參數進行監控。具體以下:
top : 總體查看資源狀況。
sar :CPU資源消耗
vmstat:內存相關消耗
iostat: 磁盤相關消耗
………
具體用法和參數,能夠參照聯機幫助(man top等)。 c++
能夠將以上命令經過shell來包裝,每隔多少秒監控一次,總共監控多少次,將監控結果寫到文件裏面。
例如:下面shell就是將CPU Load每隔3秒寫到文件裏面。
while true ; do uptime | awk -F' average: ' '{print $2}' ;sleep 3;done >> `hostname`_`date +%Y%m%d_%H%M`.uptime
Nmon安裝 將 nmonXXX.tar.gz 文件複製到計算機。若是使用 FTP,請記住使用二進制模式。
解壓該文件,運行 gzip -d nmonXXX.tar.gz
提取該文件,運行tar xvf nmonXXX.tar
Nmon實時監控 登錄要監控的系統,進入nmon安裝目錄中
輸入命令nmon,運行 nmon(如root用戶可能須要輸入./nmon).顯示的起始屏幕及CPU等信息。如圖:
依次按c,m,d便可顯示CPU,內存,磁盤等信息。如圖:
Nmon運行時的鍵盤命令
命令 | 說明 |
---|---|
c | 提供關於物理CPU使用的詳細信息 |
m | 提供內存使用的詳細信息:系統(內核)和進程,活動虛擬內存 |
d | 提供關於磁盤,磁盤類型大小,可用空間,卷組,適配器等更詳細的信息 |
t | 當前進程詳細情 |
P | Paging space 使用狀況 |
k | 顯示內核信息 |
+ | Nmon 結果保存爲文件 |
提供的監控指標比較豐富,包括CPU、內存、網絡、磁盤以及每一個進程的資源。
同3.1.2.1 性能測試
Windows操做系統自帶的windows資源管理器,在任務欄裏面點擊右鍵,啓動任務管理器:
點擊性能面板,再點擊資源監視器:
Windows有自帶的性能監視器,能夠指定相關的監控指標進行監控,將結果保存爲文件,從windows控制面板->管理工具->性能監視器->新建數據蒐集器,添加你感興趣的指標計數器。
Tomcat主要監控線程工做狀態、請求數、 會話數、線程數、虛擬主機、JAVA虛擬機內存佔用狀況。
經過使用Applications Manager(又稱opManager)來進行監控。
使用這種方式,所監控Tomcat必須運行manager應用,缺省狀況下,該應用老是運行在服務器中的。
增長Manager Role: 訪問manager應用的用戶的角色權限必須是 manager. 修改<TOMCAT_HOME>/conf目錄下的tomcat-users.xml文件,在<tomcat-users>節點下添加一個user節點,便可建立一個用戶。Tomcat版本不一樣配置也有差別,5.x和6.x建立的用戶角色應爲manager,7.x建立的用戶角色爲manager-jmx,舉例以下:
在5.x和6.x中建立一個manager角色的用戶,用戶名爲admin,密碼爲chenfeng: <user username="admin" password="chenfeng" roles="manager"/>
在7.x中建立一個manager角色的用戶,用戶名爲admin,密碼爲xxxxx: <user username="admin" password="chenfeng" roles="manager-jmx,manager-script,manager-status"/> 修改配置後,須要從新啓動 Tomcat 服務器。鏈接manager時將用戶名/密碼指定爲admin/xxxxxxxx
經過瀏覽器訪問http://localhost:8080/manager/jmxproxy ,輸入用戶名密碼,而後就能夠看到返回了全部的監控信息
vi /usr/local/tomcat/conf//tomcat-users.xml <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager"/> <role rolename="standard"/> <role rolename="tomcat"/> <role rolename="admin"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="probe" password="probe" roles="admin,manager"/> <user username="role1" password="tomcat"roles="role1"/> </tomcat-users>
設置環境變量,獲取服務器狀態 # vi /etc/profile JAVA_OPTS=-Dcom.sun.management.jmxremote export JAVA_OPTS
重啓動服務器
Linux系統下,須要修改 tomcat主目錄\bin\ catalina.sh文件 增長一行 CATALINA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=218.28.198.188 -Dcom.sun.management.jmxremote.port=9527 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" 而後使用JConsole就能夠監控Tomcat。 點擊%JAVA_HOME%\bin下的jconsole.exe便可
設置好以後, 服務器上的應用,會等待你客戶端鏈接上之後,才真正啓動應用。 Jprofile鏈接上以後,則能夠看到一下界面了, 它能夠幫助你分析內存信息,線程信息,jdbc鏈接等等, 如下是監控本地開發機的應用狀況,能夠看到,哪一個線程在跑哪些SQL,由哪些方法調用的。
JBoss主要監控線程工做狀態、請求數、 會話數、線程數、虛擬主機、JAVA虛擬機內存佔用狀況。
若是須要監控jboss的系統資源,如:jboss的基本配置狀況,jvm的利用率,線程池的使用狀況,可使用web-console進行監控。
web-console-users.properties、web-console-roles.properties定義了訪問 web-console的用戶、用戶角色,具體位置,使用find /jboss -name web-console-users.properties 找到之後能夠修改用戶名、密碼。
監控 使用http://localhost:8080/web-console/ 中,獲取當前JBOSS-WEB應用模塊的負載分擔狀況,並能夠查看到當前JAVA虛擬機的內存使用狀況,及線程池使用狀況。 使用http://localhost:8080/web-console/status,能夠進一步監控到每一個線程的狀態。
具體能夠參照4.1.2.2 Probe
具體能夠參照4.1.2.3 JConsole
具體能夠參照4.1.2.4 JProfile
主要針對會話、事務、緩存、內存、線程池等進行監控,具體以下:
在性能監視器裏面添加IIS應用計數器便可。
JVM關注的指標主要是java虛擬機內存年輕代、年老代堆大小以及GC頻率及回收時間。 JVM堆內存結構以下:
將jstat中感興趣的相關指標經過shell保存爲文件,例如如下shell是每隔2秒鐘將jstat監控的信息保存到文件中。
while true;do /usr/local/java/bin/jstat -gcutil `/usr/local/java/bin/jps | grep -v 'Jps' | grep -v 'Jstat' | egrep 'OrderPlatformLauncher|Bootstrap|TcpServerLauncher'| awk '{print $1}'` | grep -v 'S0' | awk '{print strftime("%m-%d-%H:%M:%S",systime()),$0}';sleep 2;done >> `hostname`_`date +%Y%m%d_%H%M`.jstat
jmap命令能夠得到運行中的jvm的堆的快照,從而能夠離線分析堆,以檢查內存泄漏,檢查一些嚴重影響性能的大對象的建立,檢查系統中什麼對象最多,各類對象所佔內存的大小等等
命令格式 jmap [options] pid -dump:[live,]format=b,file=<filename> --dump堆到文件,live指明是活着的對象,file指定文件名。
由於在dump:live前會進行full gc,所以不加live的堆大小要大於加live堆的大小 -finalizerinfo 打印等待回收對象的信息
-heap 打印堆總結
-histo[:live] 打印堆的對象統計,包括對象數、內存大小等等
-permstat 打印java堆perm區的classloader統計
-F 強制,在jmap -dump或jmap -histo中使用,若是pid沒有相應的回覆 -J 提供jvm選項,如:-J-Xms256m
JProfile也能夠監控JVM,而且以圖形化的方式進行展現,方便信息的查看及分析。具體能夠參照4.1.2.4章節。
JConsole也能夠監控JVM,而且以圖形化的方式進行展現,方便信息的查看及分析。具體能夠參照4.1.2.3章節。
.NET CLR是有微軟開發的一臺虛擬平臺,支持C#/C++/VB等,此虛擬平臺功能相似於JVM. .NET CLR主要功能以下:
性能計數器 說明
指標 | 解釋 |
---|---|
# Bytes in all Heaps(全部堆中的字節數) | 顯示如下計數器值的總和,此計數器指示在垃圾回收堆上分配的當前內存(以字節爲單位)。 |
# GC Handles(GC 處理數目) | 顯示正在使用的垃圾回收處理的當前數目。 |
# Gen 0 Collections(第 2 級回收次數) | 顯示自應用程序啓動後第 0 級對象(即最年輕、最近分配的對象)被垃圾回收的次數。 |
# Gen 1 Collections(第 2 級回收次數) | 顯示自應用程序啓動後對第 1 級對象進行垃圾回收的次數。 |
# Gen 2 Collections(第 2 級回收次數) | 顯示自應用程序啓動後對第 2 級對象進行垃圾回收的次數。此計數器在第 2 級垃圾回收(也稱做完整垃圾回收)結束時遞增。 |
# Induced GC(引起的 GC 的數目) | 顯示因爲對 GC.Collect 的顯式調用而執行的垃圾回收的峯值次數。讓垃圾回收器對其回收的頻率進行微調是切實可行的。 |
# of Pinned Objects(釘住的對象的數目) | 顯示上次垃圾回收中遇到的釘住的對象的數目。釘住的對象是垃圾回收器不能移入內存的對象。 |
# of Sink Blocks in use(正在使用的接收塊的數目) | 顯示正在使用的同步塊的當前數目。同步塊是爲存儲同步信息分配的基於對象的數據結構。 |
# Total committed Bytes(提交字節的總數) | 顯示垃圾回收器當前提交的虛擬內存量(以字節爲單位)。提交的內存是在磁盤頁面文件中保留的空間的物理內存。 |
# Total reserved Bytes(保留字節的總數) | 顯示垃圾回收器當前保留的虛擬內存量(以字節爲單位)。保留內存是爲應用程序保留(但還沒有使用任何磁盤或主內存頁)的虛擬內存空間。 |
% Time in GC(GC 中時間的百分比) | 顯示自上次垃圾回收週期後執行垃圾回收所用運行時間的百分比。 |
Allocated Bytes/second(每秒分配的字節數) | 顯示每秒在垃圾回收堆上分配的字節數。 |
Finalization Survivors(完成時存留對象數目) | 顯示因正等待完成而從回收後保留下來的進行垃圾回收的對象的數目。若是這些對象保留對其餘對象的引用,則那些對象也保留下來,但此計數器不對它們計數。 |
Gen 0 heap size(第 2 級堆大小) | 顯示在第 0 級中能夠分配的最大字節數;它不指示在第 0 級中當前分配的字節數。 |
Gen 0 Promoted Bytes/Sec(從第 1 級提高的字節數/秒) | 顯示每秒從第 0 級提高到第 1 級的字節數。內存在從垃圾回收保留下來後被提高。 |
Gen 1 heap size(第 2 級堆大小) | 顯示第 1 級中的當前字節數;此計數器不顯示第 1 級的最大大小。 |
Gen 1 Promoted Bytes/Sec(從第 1 級提高的字節數/秒) | 顯示每秒從第 1 級提高到第 2 級的字節數。在此計數器中不包括只因正等待完成而被提高的對象。 |
Gen 2 heap size(第 2 級堆大小) | 顯示第 2 級中當前字節數。不直接在此代中分配對。 |
Large Object Heap size(大對象堆大小) | 顯示大對象堆的當前大小(以字節爲單位)。垃圾回收器將大於 20 KB 的對象視做大對象而且直接在特殊堆中分配大對象; |
Promoted Finalization-Memory from Gen 0(從第 1 級提高的完成內存) | 顯示只因等待完成而從第 0 級提高到第 1 級的內存的字節數。 |
Promoted Finalization-Memory from Gen 1(從第 1 級提高的完成內存) | 顯示只因等待完成而從第 1 級提高到第 2 級的內存的字節數。 |
Promoted Memory from Gen 0(從第 1 級提高的內存) | 顯示在垃圾回收後保留下來而且從第 0 級提高到第 1 級的內存的字節數。 |
Promoted Memory from Gen 1(從第 1 級提高的內存) | 顯示在垃圾回收後保留下來而且從第 1 級提高到第 2 級的內存的字節數。 |
Windows性能監視器中,能夠將.NET CLR Memory中相關的計數器加入到監控中。
Profiler能夠調試4種類型的.NET程序,分別爲:
Profler調試共有三種方式選擇:
若是須要設置啓動參數,則設置好命令行參數以及工做目錄.
選擇」Next」進行收集數據的一些選項設置,通常直接按」Star」按鈕開始調試程序.
查看收集數據
Profiler上有6個頁卡,分別爲:
Type/Resource 類型/資源頁卡
主要針對SQL耗時、吞吐量(QPS/TPS)、命中率、鎖等待等指標進行監控。
MySQL Status Inoformation : MySQL狀態信息
【ins】表示insert語句每秒執行次數
【upd】表示update語句每秒執行次數
【del】表示delete語句每秒執行次數
【sel】表示select語句每秒執行次數
【hit%】表示緩存命中率,主要指innodb_buffer_pool的命中率
InnoDB Row Operation : InnoDB存儲引擎行操做
【read】表示InnoDB存儲引擎表的讀取記錄行數
【insert】表示InnoDB存儲引擎表的寫入記錄行數
【update】表示InnoDB存儲引擎表的更新記錄行數
【delete】表示InnoDB存儲引擎表的寫入記錄行數
Thread : 鏈接數相關
【running】表示活躍的鏈接數,即正在執行sql的鏈接
【connected】表示鏈接在實例上的空閒鏈接,即未執行sql的鏈接
Network : 網絡流量,單位爲KB
【in】表示進入實例的網絡流量
【out】表示流出實例的網絡流量
phpMyAdmin是Mysql的管理工具。相比一些Mysql客戶端的GUI管理工具(如「MySQL Administrator」),phpMyAdmin是Web模式的。phpMyAdmin 是以PHP爲基礎,以Web-Base方式架構在網站主機上的MySQL的資料庫管理工具。
在phpMyAdmin直接點擊狀態,能夠查看SQL查詢,InnoDB,Cache,線程等狀態信息。
經過性能測試RDS監控,能夠監控當前活躍鏈接數、IOPS、TPS、磁盤容量、QPS。
監控項 | 解釋 |
---|---|
鏈接數 | 當前總鏈接數 |
緩存命中率 | 緩存命中率 |
平均每秒全表掃描數 | 平均每秒全表掃描次數 |
每秒SQL編譯 | 實例中每秒編譯的SQL語句數 |
每秒檢查點寫入Page數 | 每秒檢查點寫入Page數 |
每秒登陸次數 | 每秒登陸次數 |
每秒鎖超時次數 | 每秒鎖超時次數 |
每秒死鎖次數 | 每秒死鎖次數 |
每秒鎖等待次數 | 每秒鎖等待次數 |
網絡流量 | SQL Server實例平均每秒鐘輸入和輸出的流量。單位爲KB。 |
QPS/TPS | 平均每秒SQL語句執行次數和事務數。 |
CPU使用率 | RDS實例CPU使用率(佔操做系統總數) |
IOPS | RDS實例的IOPS(每秒IO請求次數) |
磁盤空間 | RDS實例空間佔用 |
SQL Server 數據庫提供了專門的工具對數據庫的活動進行監控,這個工具稱爲「活動監視器」。使用活動監視器能夠獲取與數據庫引擎相關的用戶鏈接狀態及其所保存的鎖等有用信息。
該「活動監視器」對話框包含3組選項,分別是「進程信息」選項、「按進程分類的鎖」選項和「按對象分類的鎖」選項。
「進程信息」選項:包含有關鏈接到數據庫的信息
「按進程分類的鎖」選項:顯示按鏈接對鎖進行排序
「按對象分類的鎖」選項:顯示按對象名稱對鎖進行排序
應用篩選器能夠減小顯示的信息量。對數據庫鎖定問題進行故障排除時,可使用「活動監視器」終止死鎖或無響應的進程。
SQL Server Profiler(事件探查器)是SQL跟蹤的圖形用戶界面,用於監視SQL Server 數據庫引擎或SQL Server Analysis Services(分析服務)的實例。用戶能夠捕獲有關每一個事件的數據,並將其保存到文件或表中供之後分析。
「事件選項」選項卡包含一個網格控件,網格控件是包含全部可跟蹤事件類的表。每一個事件類在表中佔一行。根據用戶所鏈接的服務器的類型和版本的不一樣,事件類會略有不一樣。事件類是由網格的「Events」列進行標識,並按事件類別進行分組。其他列則列出每一個事件類能夠返回的數據列。
完成設置後,單擊「肯定」按鈕,返回「跟蹤屬性」對話框。
系統性能監視器能夠用於監視系統資源的使用率。它使用計數器形式收集和查看服務器資源(如處理器和內存使用的狀況)和許多SQL Server 2005資源(如鎖和事務)的實時性能數據。
參照5.1.2.2 iDBCloud.
主要監控以下指標:
mongostat是mongdb自帶的狀態檢測工具,在命令行下使用。它會間隔固定時間獲取mongodb的當前運行狀態,並輸出。若是你發現數據庫忽然變慢或者有其餘問題的話,你第一手的操做就考慮採用mongostat來查看mongo的狀態。
相似於MySQL的slow log, MongoDB能夠監控全部慢的以及不慢的查詢。
Profiler默認是關閉的,你能夠選擇所有開啓,或者有慢查詢的時候開啓。 例如:
> use test switched to db test > db.setProfilingLevel(2); {"was" : 0 , "slowms" : 100, "ok" : 1} // "was" is the old setting > db.getProfilingLevel()
查看Profiler日誌:
> db.system.profile.find().sort({$natural:-1}) {"ts" : "Thu Jan 29 2009 15:19:32 GMT-0500 (EST)" , "info" : "query test.$cmd ntoreturn:1 reslen:66 nscanned:0 query: { profile: 2 } nreturned:1 bytes:50" , "millis" : 0} ...
3個字段的意義ts:時間戳、info:具體的操做、millis:操做所花時間,毫秒。
相似於MySQL的slow log, MongoDB能夠監控全部慢的以及不慢的查詢。
Profiler默認是關閉的,你能夠選擇所有開啓,或者有慢查詢的時候開啓。
> use test switched to db test > db.setProfilingLevel(2); {"was" : 0 , "slowms" : 100, "ok" : 1} // "was" is the old setting > db.getProfilingLevel()
查看Profile日誌
> db.system.profile.find().sort({$natural:-1}) {"ts" : "Thu Jan 29 2009 15:19:32 GMT-0500 (EST)" , "info" : "query test.$cmd ntoreturn:1 reslen:66 nscanned:0 query: { profile: 2 } nreturned:1 bytes:50" , "millis" : 0} ...
3個字段的意義ts:時間戳、info:具體的操做、millis:操做所花時間,毫秒
注意,形成慢查詢多是索引的問題,也多是數據不在內存形成所以磁盤讀入形成。
Mongodb自帶了Web控制檯,默認和數據服務一同開啓。他的端口在Mongodb數據庫服務器端口的基礎上加1000,若是是默認的Mongodb數據服務端口(Which is 27017),則相應的Web端口爲28017
這個頁面能夠看到
MongoDB Monitoring Service(MMS)是Mongodb廠商提供的監控服務,能夠在網頁和Android客戶端上監控你的MongoDB情況。
Redis主要監空Server、Clients、Memory、Persistence、Stats、Replication、CPU、Keyspace 8大部分,具體以下:
Server
redis_version:2.8.8 # Redis 的版本
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:bf5d1747be5380f
redis_mode:standalone
os:Linux 2.6.32-220.7.1.el6.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.7 #gcc版本
process_id:49324 # 當前 Redis 服務器進程id
run_id:bbd7b17efcf108fdde285d8987e50392f6a38f48
tcp_port:6379
uptime_in_seconds:1739082 # 運行時間(秒)
uptime_in_days:20 # 運行時間(天)
hz:10
lru_clock:1734729
config_file:/home/s/apps/RedisMulti_video_so/conf/zzz.conf
Clients
connected_clients:1 #鏈接的客戶端數量
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
Memory
used_memory:821848 #Redis分配的內存總量
used_memory_human:802.59K
used_memory_rss:85532672 #Redis分配的內存總量(包括內存碎片)
used_memory_peak:178987632
used_memory_peak_human:170.70M #Redis所用內存的高峯值
used_memory_lua:33792
mem_fragmentation_ratio:104.07 #內存碎片比率
mem_allocator:tcmalloc-2.0
Persistence
loading:0
rdb_changes_since_last_save:0 #上次保存數據庫以後,執行命令的次數
rdb_bgsave_in_progress:0 #後臺進行中的 save 操做的數量
rdb_last_save_time:1410848505 #最後一次成功保存的時間點, rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
aof_enabled:0 #redis是否開啓了aof
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
Stats
total_connections_received:5705 #運行以來鏈接過的客戶端的總數量
total_commands_processed:204013 #運行以來執行過的命令的總數量
instantaneous_ops_per_sec:0
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:34401 #運行以來過時的 key 的數量
evicted_keys:0 #運行以來刪除過的key的數量
keyspace_hits:2129 #命中key 的次數
keyspace_misses:3148 #沒命中key 的次數
pubsub_channels:0 #當前使用中的頻道數量
pubsub_patterns:0 #當前使用中的模式數量
latest_fork_usec:4391
Replication
role:master #當前實例的角色master仍是slave
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
CPU
used_cpu_sys:1551.61
used_cpu_user:1083.37
used_cpu_sys_children:2.52
used_cpu_user_children:16.79
Keyspace
db0:keys=3,expires=0,avg_ttl=0 #各個數據庫的 key 的數量及生存週期
使用redis自帶命令monitor的輸出結果作分析的python腳本,在命令行下使用,能夠作實時分析使用。 官網:https://github.com/Instagram/redis-faina
cd /opt/test git clone https://github.com/Instagram/redis-faina.git cd redis-faina/ redis-cli -p 6379 MONITOR | head -n 100 | ./redis-faina.py --redis-version=2.4
測試結果以下:
能夠看到一些實時的數據,而且有必定的統計數據,能夠做爲一個命令行工具使用。推薦使用,不過redis版本要大於2.4。
用來監控redis實例,分析查詢語句而且有web界面的監控工具,python編寫。 官網:https://github.com/nkrode/RedisLive 運行環境依賴包安裝:http://www.nkrode.com/article/real-time-dashboard-for-redis redis-live安裝:
cd /root git clone https://github.com/nkrode/RedisLive.git cd RedisLive/src ###修改redis-live.conf文件 { "RedisServers": [ { "server": "10.20.111.188", "port" : 6379 } ], "DataStoreType" : "redis", "RedisStatsServer": { "server" : "10.20.111.188", "port" : 6380}, "SqliteStatsStore" : { "path": "to your sql lite file" } }
修改完畢
啓動監控服務,每30秒監控一次 ./redis-monitor.py --duration=30 ###再次開啓一個終端,進入/root/RedisLive/src目錄,啓動web服務 ./redis-live.py 在瀏覽器輸入: http://10.20.111.188:8888/index.html 便可看到下圖:
一個web界面,能夠同時監控多個redis實例,作集中監控比較好。
用ruby寫成的監控redis的程序,基於info命令獲取信息,而不是經過monitor獲取信息,性能應該比monitor要好。
官網:https://github.com/junegunn/redis-stat
運行環境安裝:
apt-get install ruby
apt-get install rubygems
redis-stat安裝:
cd /root
git clone https://github.com/junegunn/redis-stat.git
cd /root/redis-stat/bin ###./redis-stat --help 能夠看到使用幫助
./redis-stat 1
redis-stat的具體用法
usage: redis-stat [HOST[:PORT] ...] [INTERVAL [COUNT]]
-a, --auth=PASSWORD Password
-v, --verbose Show more info
--style=STYLE Output style: unicode|ascii
--no-color Suppress ANSI color codes
--csv=OUTPUT_CSV_FILE_PATH Save the result in CSV format --server[=PORT] Launch redis-stat web server (default port: 63790) --daemo Daemonize redis-stat. Must used with --server option. --version Show version --help
redis-stat命令行模式:
redis-stat redis-stat 1 redis-stat 1 10 redis-stat --verbose redis-stat localhost:6380 1 10 redis-stat localhost localhost:6380 localhost:6381 5 redis-stat localhost localhost:6380 1 10 --csv=/tmp/output.csv --verbose redis-stat web模式: redis-stat --server redis-stat --verbose --server=8080 5 redis-stat --server --daemon
效果以下:
運行web模式
cd /root/redis-stat/bin ./redis-stat --server=8080 5 --daemon
在瀏覽器輸入: http://10.20.111.188:8080/ 結果以下:
不錯的工具,既有命令行又有web界面,能夠放到後臺運行,數據比redis-live感受直觀 ,ruby開發的,惟一的缺點是若是同時監控多個redis實例,不能單獨顯示每個實例的數據信息,貌似是總和。
一個國人用java寫的,官網的是在win下編譯的,看着不錯,官網:https://github.com/litiebiao2012/redis-monitor,我的感受,作集中監控可使用redis-live,在命令行使用可使用redis-stat,也能夠根據本身的狀況自行編寫,總之就是根據info和monitor命令獲取並展現信息。
前端指標主要包括頁面展現、網絡所花的時間以及前端有哪些地方須要優化。
Firebug是firefox下的一個擴展,可以調試全部網站語言,如Html,Css等,但FireBug最吸引個人就是javascript調試功能,使用起來很是方便,並且在各類瀏覽器下都能使用(IE,Firefox,Opera, Safari)。
Firebug主要功能有:CSS調試、CSS尺標、網絡監視器、JS調試器、Console 控制檯、修改HTML、DOM查看器。
YSlow能夠對網站的頁面進行分析,並告訴你爲了提升網站性能,如何基於某些規則而進行優化。 安裝YSlow必須首先先安裝 Firebug,而後下載YSlow,再對其安裝。
YSlow能夠分析任何網站,併爲每個規則產生一個總體報告,若是頁面能夠進行優化,則YSlow會列出具體的修改意見。