sybase優化概述(zt)

zhouwf0726發表於2019-01-27
1)檢查sybase伺服器的配置
1.1)檢查檔案配置
記憶體配置是否足夠大。
TEMP DB是否足夠大。
CPU數量是否正確。
是否配置了足夠的快取。
1.2)執行sp_sysmon ,參考結果中的調優建議,調整系統引數。

2)索引環節的調整

2.1)在伺服器的效能監控裡邊看看,是否磁碟佔用率很高?還是CPU佔用率很高?
如果磁碟佔用率很高,而且cpu佔用率比較低,則考慮是否是資料庫的索引環節有問題。
2.2)然後安裝sybase 的MDA表
2.3)開啟資料庫的監控, 2),3)2步可以參考:
http://feimei.itpub.net/post/10248/171536
2.4)執行sql語句,查詢I/O最大的sql
select s.SPID, s.PhysicalReads, t.LineNumber, t.SQLText
from master..monProcessStatement s, master..monProcessSQLText t
where s.SPID=t.SPID
order by s.PhysicalReads, s.SPID, t.LineNumber desc
查詢cpu佔用最大的sql
select s.SPID, s.CpuTime, t.LineNumber, t.SQLText
from master..monProcessStatement s, master..monProcessSQLText t
where s.SPID = t.SPID
order by s.CpuTime DESC
2.5)可以在系統慢的時候,每個幾分鐘執行一次,將查詢到的sql紀錄下來。
2.6)檢視這些sql的執行計劃,是否正確使用了索引,如果沒有索引,則新增,如果存在索引,但沒有正確使用,則先更新索引的統計資訊,再次檢視執行計劃,看看是否有改善。

/************************MDA表**********************/

在Sybase上安裝MDA表的步驟如下:

首先配置cis引數為1

sp_configure 'enable cis', 1
go
其次,在servers中增加一個loopback服務,其實也就是指向自己的一個服務了

use master
go
sp_addserver loopback, null, @@servername
go

可以使用下面的語句來測試這個服務是否配置正確

set cis_rpc_handling on
go
這個如果返回是0,或者是執行正確,就表示剛才的配置正確了.

當然,也可以通過下面的方法來測試

exec loopback…sp_who

go

下面就是安裝了,這一步非常重要:

isql -U sa -P yourpassword -S YOURSERVER
-i $SYBASE/$SYBASE_ASE/scripts/installmontables
看看螢幕的輸出,如果有錯誤,就要想辦法去排除了.
現在,得授予sa一個mon_role的許可權了

use master
go
grant role mon_role to sa
go

用下面的語句來測試授權是否成功

select * from master..monState
go
這裡返回正常的話,就可以繼續下面的操作了

將下面的動態引數進行修改

sp_configure 'enable monitoring', 1
go
sp_configure 'sql text pipe active', 1
go
sp_configure 'sql text pipe max messages', 100
go
sp_configure 'plan text pipe active', 1
go
sp_configure 'plan text pipe max messages', 100
go
sp_configure 'statement pipe active', 1
go
sp_configure 'statement pipe max messages', 100
go
sp_configure 'errorlog pipe active', 1
go
sp_configure 'errorlog pipe max messages', 100
go
sp_configure 'deadlock pipe active', 1
go
sp_configure 'deadlock pipe max messages', 100
go
sp_configure 'wait event timing', 1
go
sp_configure 'process wait events', 1
go
sp_configure 'object lockwait timing', 1
go
sp_configure 'SQL batch capture', 1
go
sp_configure 'statement statistics active', 1
go
sp_configure 'per object statistics active', 1
go
然後,需要修改一個靜態引數

sp_configure "max SQL text monitored", 5120
go

現在,你要作的就是重新啟動Sybase資料庫伺服器,然後你就可以使用MDA表來監測Sybase資料庫的系統效能

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-242419/,如需轉載,請註明出處,否則將追究法律責任。

相關文章