※ ChatGPTを利用し、要約された質問です(原文:HP-UXでOracleDBEE10gの性能劣化)
HP-UXでOracleDBEE10gの性能劣化
このQ&Aのポイント
HP-UX 11i v3にてOracleDBEE10gを動作させておりますが、page in / page outが頻発しており、対応策をご存知でしたら教えていただきたく投稿します。
Oracle DBEEの初期化パラメータチューニング後に性能が劣化しています。
HP-UXでOracle DBEE10gの性能劣化が発生しており、対策方法を教えていただきたいです。
HP-UX 11i v3にてOracleDBEE10gを動作させておりますが、page in / page outが頻発しており、対応策をご存知でしたら教えていただきたく投稿します。
質問の仕方や情報不足など、不適切な点がある場合は何卒ご容赦いただけますと幸いです。
不足情報はご連絡頂けましたら提示いたします。
【サーバ基本情報】
CPU:PA-RISC
OS:HP-UX 11i v3 (64bit)
物理メモリ:32GB
仮想メモリ:32GB
【事象】
Oracle DBEEの初期化パラメータチューニング後に性能が劣化。
【DB】
Ver:10g
初期化パラメータチューニング内容:
以下のパラメータについて、→の左右で、左側が変更前、右側が変更後です。
compatible = '10.2.0'
log_buffer = 10485760 →268423168
pga_aggregate_target = 1073741824→1600M
sga_max_size = 定義なし→8G
sga_target =定義なし→8G
shared_pool_size = 738197504 →1G
streams_pool_size = 50331648 →0
db_cache_size = 671088640 →0
java_pool_size = 67108864 →0
large_pool_size =定義なし→0
【調査状況】
・vmstat結果
pi/po:多発
cpu:idelが50~80%でパワーは余っている(全てをみていないためもう少し上下あるかもしれません)
・sar結果
I/O waitが20%~50%でたりする。(全てをみていないためもう少し上下あるかもしれません)
・swapinfo mt
物理メモリのFREEが70%もある。
一方でスワップを20%以上利用。
・その他
Oracleを停止するとスワップは全て解放される。
Oracleを起動するとreserveのUSEDが8449、FREEが-8449となる。
つまり、起動直後からスワップを予約してしまっていて、稼働中はその予約したスワップからメモリを利用しているように見受けられる。
【カーネルパラメータ】
NSTREVENT 50
NSTRPUSH 16
NSTRSCHED 0
STRCTLSZ 1024
STRMSGSZ 0
acctresume 4
acctsuspend 2
aio_iosize_max 0
aio_listio_max 256
aio_max_ops 2048
aio_monitor_run_sec 30
aio_physmem_pct 10
aio_prio_delta_max 20
aio_proc_max 0
aio_proc_thread_pct 70
aio_proc_threads 1024
aio_req_per_thread 1
allocate_fs_swapmap 0
alwaysdump 0
audit_memory_usage 5
audit_track_paths 0
btree_prune_min_interval 90
close_wake_blkdflks 0
cmpt_restrict_tl 0
core_addshmem_read 0
core_addshmem_write 0
create_fastlinks 0
default_disk_ir 0
desfree_pct 0
diskaudit_flush_interval 5
dlpi_max_clones 3992
dlpi_max_ub_promisc 1
dnlc_hash_locks 512
dontdump 0
dst 1
dump_compress_on 1
dump_concurrent_on 0
eqmem_limit 65536
executable_stack 1
expanded_node_host_names 0
fcache_fb_policy 0
fcache_seqlimit_file 100
fcache_seqlimit_scope 0
fcache_seqlimit_system 100
fcache_vhand_ctl 0
fcd_disable_mgmt_lun 0
filecache_max 16327262208
filecache_min 1632722944
fr_rulecache 0
fr_statemax 800000
fr_tcpidletimeout 86400
fr_tcptimewait 120
frnat_tcptimewait 120
fs_async 0
fs_symlinks 20
ftable_hash_locks 64
gvid_no_claim_dev 0
hires_timeout_enable 0
hp_hfs_mtra_enabled 1
intr_strobe_ics_pct 80
io_ports_hash_locks 64
ipf_icmp6_passthru 0
ipl_buffer_sz 8192
ipl_logall 0
ipl_suppress 1
ipmi_watchdog_action 0
ipnat_enable 1
ipnat_hostmap_size 127
ipnat_largenat_enable 0
ipnat_nat_size 127
ipnat_nat_table_size 127
ipnat_rdr_size 127
kmem_aggressive_caching 0
ksi_alloc_max 33600
ksi_send_max 32
lcpu_attr 0
lotsfree_pct 0
max_acct_file_size 2560000
max_async_ports 4096
max_mem_window 0
max_thread_proc 4048
maxdsiz 0xc0000000
maxdsiz_64bit 0x100000000
maxfiles 4096
maxfiles_lim 4096
maxssiz 0x8000000
maxssiz_64bit 0x40000000
maxtsiz 0x40000000
maxtsiz_64bit 0x40000000
maxuprc 3781
mprotect_reduce_protid_on 0
msgmbs 8
msgmnb 16384
msgmni 4200
msgtql 4200
ncdnode 150
nclist 8292
ncsize 36672
nflocks 8400
nfs2_max_threads 8
nfs2_nra 4
nfs3_bsize 32768
nfs3_do_readdirplus 1
nfs3_jukebox_delay 1000
nfs3_max_commit_threads 8
nfs3_max_threads 8
nfs3_max_transfer_size 1048576
nfs3_max_transfer_size_cots 1048576
nfs3_nra 4
nfs4_bsize 32768
nfs4_max_threads 8
nfs4_max_transfer_size 1048576
nfs4_max_transfer_size_cots 1048576
nfs4_nra 4
nfs_portmon 0
ngroups_max 20
ninode 8192
nkthread 8400
nproc 4200
npty 60
nstrpty 60
nstrtel 60
nswapdev 32
nswapfs 32
numa_mode 0
numa_policy 0
numa_sched_launch 1
override_umask 0
pagezero_daemon_enabled 1
patch_active_text 1
pci_eh_enable 1
pci_error_tolerance_time 1440
process_id_max 30000
process_id_min 0
remote_nfs_swap 0
rng_bitvals 9876543210
rng_sleeptime 2
rtsched_numpri 32
rusage_hires_enable 0
sched_idle_ht_steal_policy 0
sched_thread_affinity 6
scroll_lines 100
secure_sid_scripts 1
semaem 16384
semmni 8400
semmns 16800
semmnu 4196
semmsl 2048
semume 100
semvmx 32767
shmmax 34359738368
shmmni 4200
shmseg 512
streampipes 0
swchunk 2048
sysv_hash_locks 128
tcphashsz 0
timeslice 10
timezone 420
uname_eoverflow 1
vnode_cd_hash_locks 128
vnode_hash_locks 128
お礼
ご回答ありがとうございます。 性能劣化の原因はI/Oであることが間違いなさそうです。そして、I/O負荷が増えたのはベージインページアウトの多発であることも間違いなさそうです。 初期化パラメーターを戻してみましたが、やはり確保する上限が変わるだけで、すべてスワップから使っていました。 つまり、元々、スワップしか使っておらず、SGAを広げたことにより、スワップの利用が増え性能劣化したようです。 (直ディスクアクセスよりはスワップの方が相対的に早いはずですが、無理にスワップを使うよりOSが使うディスクキャッシュが物理メモリなのでそれに任せた方が早いようです) ただ、元々性能が悪くてチューニングでさらに悪化しただけというのが分かっただけで、結局、物理メモリを使わない理由がつかめていません…
補足
OracleDBEEを起動するOSユーザーが所属するdbaグループにMLOCK権限を与えた上で、lock_sgaの初期化パラメーターをtrueにすることにより、起動時にスワップを予約することはなくなりました。 その上で、sgaを12GB、pgaを2400MB落としました。 説明が後になりましたが、何十時間もかかるOracleEBSの重いパッチを適用するためにチューニングをしています。 パッチは起動ワーカー数が指定できそれが16でしたが、IOがボトルネックで16プロセスのほとんどはIOウェイトだったため、それならと12に落としました。 結果、性能は改善されました。 なぜかまだ物理があまってるのにスワップに手を出すため、もう少しチューニングを続けようとは思います。 (ワーカーから外部プログラムを呼び出して別プロセスが起動するようで、その分SGA、PGA以外のメモリを使うようですので、そこも考慮してチューニングします) 困っている他の方がこの質問に行き着いたときのために、顛末を書きました。 ありがとうございました。