ownCloudのパフォーマンス問題、少し見えてきた
topでは問題なさそうだったけどvmstat見たらpage fault結構起こしてた。
1 0 0 1434M 267M 11 0 0 0 0 30 0 0 6 58 90 0 0 100 0 0 0 1434M 267M 11 0 0 0 0 30 4 0 13 569 279 1 1 98 0 0 0 1434M 267M 11 0 0 0 0 33 4 0 18 1394 607 3 2 96 0 0 0 1434M 267M 11 0 0 0 0 30 0 0 6 58 92 0 0 100 0 0 0 1434M 267M 11 0 0 0 0 30 5 0 14 561 284 1 1 98 0 0 0 1434M 267M 32 0 0 0 26 30 5 0 19 2260 772 2 3 94 0 0 0 1434M 267M 11 0 0 0 0 30 4 0 11 58 115 0 1 99 0 0 0 1434M 267M 11 0 0 0 0 30 0 0 8 569 257 1 1 98 0 0 0 1434M 267M 11 0 0 0 0 30 8 0 22 1467 627 3 2 95 1 0 0 1434M 267M 11 0 0 0 0 30 4 0 10 58 111 0 1 99 0 0 0 1434M 267M 9 0 0 0 0 30 0 0 8 53 97 0 0 100 0 0 0 1434M 267M 98 0 0 0 109 30 10 0 24 2340 806 3 3 94 4 0 0 1434M 267M 14 0 0 0 0 30 8 0 163 5448 2601 14 10 76 3 0 0 1476M 247M 766 0 0 0 129 32 8 0 3168 3451 9007 4 96 0 2 0 0 1461M 250M 2470 0 0 0 2518 32 23 0 3253 17406 11791 24 71 4 1 0 0 1477M 245M 4480 0 0 0 4352 31 25 0 2542 22178 10182 34 53 12 procs memory page disks faults cpu r b w avm fre flt re pi po fr sr ad0 da0 in sy cs us sy id 4 0 0 1477M 250M 1240 0 0 0 1358 29 25 0 2086 15972 8168 32 45 23 5 0 0 1493M 244M 1034 0 0 0 904 33 19 0 1426 12005 5630 26 60 15
(まぁ、バックエンドをWebDAVからiSCSIに変えたりしてるので単純比較できないけど)
もひとつ見えてきたのが、気が付くとhttpdのプロセスが妙に増えていること。そしてSIGKILL送っても死なない状態に…。
そもそもプロセスが増えすぎて変な状況になっていそうなのでhttpd.confでTimeoutを60に縮めてみた。効果あるだろうか。挙動を見ているとownCloudのクライアントは短いHTTPセッションを度々張りに行っているようなので再利用されなかったプロセスが残留している様子。forkの負荷を考えて縮めることを考えていなかったけれど、増えまくってる (気がついたら42プロセス!!!) ので生え変わらせる方向に変えてみるかな。
それとFreeBSDのカーネルモジュールでパフォーマンス改善できるかもしれないと望みを託してAccess Filterも設定追加。kern.ipc.maxsockbufもいじったほうがいいのだろうか。