重複執行show innodb status的方法

2021-09-21 12:15:53 字數 938 閱讀 9782

比如需要觀察show innodb status、innodb_tablespace_monitor、innodb_lock_monitor、innodb_table_monitor這些命令在某個時間段的資訊,如果要手動重複執行很麻煩,而innodb引擎在設計的時候就已經考慮到了,不過不夠靈活,方法如下:

在資料庫中建立相應引擎為innodb的表,建立相應的表之後,每15秒輸出一次相應的資訊到mysql error log中,不需要此功能的時候,刪除相應的表即可,語句如下:

mysql> create table innodb_monitor(a int) engine=innodb;

query ok, 0 rows affected (0.00 sec)

mysql> create table innodb_tablespace_monitor (a int) engine=innodb;

query ok, 0 rows affected (0.01 sec)

mysql> create table innodb_lock_monitor (a int) engine=innodb;

query ok, 0 rows affected (0.01 sec)

mysql> create table innodb_table_monitor (a int) engine=innodb;

query ok, 0 rows affected (0.01 sec)

其實在linux中,利用watch命令更加靈活地實現上面的需求,例如:每30秒輸出一次show innodb status的結果,並把結果儲存在乙個檔案中,語句如下:

[root@youxia205 tmp]# watch -n 30 'mysql -uroot -padmin -e "show innodb status\g" >> www.log';

關於watch命令的詳細用法,可以查詢man手冊。

TestNG重複執行測試

testng提供了豐富的annotation為測試提供更強大,更細緻的控制,比如用於併發測試的invocationcount和threadpoolsize。test invocationcount 100,threadpoolsize 5 public void testmethod invocat...

Casperjs迴圈執行(重複執行不退出)

我們知道,casperjs執行任務的時候最終是要退出的。那麼如何讓它 隔一段時間 重複的執行乙個相同的行為呢。如果你按我們平時的js迴圈思維去寫,你肯定會失敗,達不到預期的效果。參考寫法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22...

防止shell指令碼重複執行

利用鎖機制,讓乙個特定的shell指令碼,每次只能執行乙個例項。具體來說,獲得鎖的指令碼例項,能夠繼續往下執行臨界區 沒有獲得鎖的例項,則只能等待。例如,要求指令碼只能順序訪問某個資源,例如磁碟檔案等,就可以參考下面的實現。bin bash file locking using bash.ver 0...