2ch特化型サーバ・ロケーション構築作戦 Part53
1 :
動く動くウゴウゴ2ちゃんねる :
2010/06/30(水) 01:35:26 神 ID:7LkvNHTf0 BE:499554454-PLT(34145) 株主優待
4 :
動け動けウゴウゴ2ちゃんねる :2010/06/30(水) 01:37:24 ID:Ga+EwcKf0
___________ . .ノ ,――┬.――.┬――, l, ,..-"ノ 'l'l' |::::'l'l'';ヽ::! /'l, ヽ.ゝ.., . |. i´ o_!,! |::::;|,[`:::::| ,/,‐,'i., `i .| . |. !、 |:::__::::__:::| ____ ,! .| `ヽヽ r'´。Ξ-`/ --/r´r´ }. } | ゝ;;ノ ニ7 .{ .{ . .,! ,!. / ..ニ7 'i 'i i. i ,.-;=ミ、〉 =' i .i !. i {`☆',!,ヘ ,、 ,、 ,、`''-.,_ ,! ,! . .ゝヽ`''''^´ |`::〉,ハ r`lヽ /""ノ ノ . \\_ r='='ュr'==ュ.`_// `''-二''‐、::::;:-''二-''´ `ヽ.’,r'´ ’
5 :
ちきちーた ★ :2010/06/30(水) 01:50:01 ID:???0
last pid: 39884; load averages: 115.92, 366.35, 274.10 up 1+08:39:02 09:49:32 2941 processes:2 running, 2938 sleeping, 1 lock CPU states: 14.9% user, 0.1% nice, 6.3% system, 4.1% interrupt, 74.5% idle Mem: 3381M Active, 6618M Inact, 1555M Wired, 334M Cache, 214M Buf, 11G Free Swap: 24G Total, 24G Free
復活ktkr
オカエリナサイ
もう復帰とはほんと強い子だなあ
自己復旧とか、hayabusaは頑張り屋さんだな
自力で復帰できるところが凄い
1000 名前: 動け動けウゴウゴ2ちゃんねる [sage] 投稿日: 2010/06/30(水) 01:49:30 ID:wHKGfl7c0 名誉返上 名誉・・・・返上・・・・?
PK(Penalty Kick, Process Kill)記念日だなこれは
14 :
root▲▲ ★ :2010/06/30(水) 01:51:18 ID:???0
システム的に完敗ならギブアップだけど、 まだ知恵が足りない負け方だからなぁ。 がんがるます。次があればだけど。
117M @kamome
kamomeが117Mbpswwww
117.859M@kamome
117wwww
21 :
root▲▲ ★ :2010/06/30(水) 01:52:33 ID:???0
tsushima はきついっすね。 ログインもできにくい。できたと思ったらコマンド入れにくい。 SSD以外、普通のT-bananaだからか。
kamomeありえねぇw
23 :
root▲▲ ★ :2010/06/30(水) 01:52:43 ID:???0
>>14 準決勝でまた盛り上がると思います。
今日のダウンの原因を改善しましょ!
kamomeやるじゃんw
27 :
root▲▲ ★ :2010/06/30(水) 01:53:15 ID:???0
ふふふ。 @ kamome %uptime 9:52AM up 4 days, 6 hrs, 1 user, load averages: 4.09, 6.01, 4.40
kamomeもいい子なんだよ、本当に。
kamomeがokomeに見える…もう駄目だ
31 :
root▲▲ ★ :2010/06/30(水) 01:54:17 ID:???0
kamomeはまだ3割ぐらい、余裕を残してますね。 もうLA下がり始めたので、この揺り戻しは確実に受け止められた。
kamomeで117Mでるんならhayabusaはもっと行けただろうなあ… チューニング、次は全板突っ込むとかで試す?w
33 :
◆Mayoi/266Y :2010/06/30(水) 01:54:29 ID:tUcLpVHW0
34 :
root▲▲ ★ :2010/06/30(水) 01:54:44 ID:???0
芸スポが既に5スレ目に
36 :
root▲▲ ★ :2010/06/30(水) 01:54:59 ID:???0
>>33 なにもしていません。@ tsushima
さて祭りも終わったし寝るか・・・
38 :
root▲▲ ★ :2010/06/30(水) 01:55:57 ID:???0
今見ている前で、5秒ぐらいおかしくなった。@ kamome SSDが詰まった。 今はもどったはず。
39 :
root▲▲ ★ :2010/06/30(水) 01:56:25 ID:???0
tsushima は平常運転に戻りました。
tsushimaもええ子やw
いやいや、今夜はまだけいおんがあるぞーw
kamomeもほんと、たくましいいい子に育ったね
45 :
ちきちーた ★ :2010/06/30(水) 01:57:58 ID:???0
subject.txt の大きさとかが全然違いますからねぇ 実況系の板で転送量がでるって凄いですよ
決勝と選挙って同じ日だね
ハヤブサ鯖お疲れさまっした
>>31 3割も余裕あるのか〜
鴎も出来る子だね!
49 :
root▲▲ ★ :2010/06/30(水) 01:59:08 ID:???0
さてと。 今日のhayabusaは負けですが、次につながる負け方でした。 まだやれることがありそうです。 kamomeはすばらしかったです。大爆発をきっちり受け止めました。 もう安心して見ていられるかんじです。
50 :
root▲▲ ★ :2010/06/30(水) 01:59:40 ID:???0
>>45 トップページもですね。
あと、read.cgiというか、普通のブラウザ率も。
ハヤブサよく頑張ったさようなら
なんでほんださんかっけーが本田△になるんだよう
53 :
動け動けウゴウゴ2ちゃんねる :2010/06/30(水) 02:02:25 ID:1c3I4Aps0
次の超弩級巨漢鰯マダァ〜(・∀・ )っ/凵⌒☆チンチン
おいちゃんもrootタンも日本代表も乙でした!
>>52 △→さんかっけい→さんかっけー
・・・あとはわかるな?
こうなったらSSDのRAID0構成しかないな 500MB/sは出るだろw
RAID0じゃ意味ないだろ、ランダムは遅くなるし むしろX25-Eを・・・容量足りないのかな
このあとのけいおん遅れテロップ挿入だけで はやにゃんが突然死するとは誰が予想した だろうか
>SSDのRAID0 とりあえず優越感を味わえる。
SSDをRAIDするとベンチの結果は早くなるけど実際あまり変わらないと聞くが… でも尋常じゃない負荷がかかるからやっぱり効果あるのかな
62 :
root▲▲ ★ :2010/06/30(水) 02:07:12 ID:???0
まず logbuffer ですね。 とりあえず、思いつく手は3つか。 ・rtprio で優先度を speedy_backend よりもさらに上にする → 試す価値あり、明日昼にでも ・logbuffer プログラムを、SunOSさんにさらに改良してもらう → マルチスレッド化とか、バッファを大きめにとるとか ・logbuffer がログをとる先を、SSDからHDDに変更する → 設定自体は比較的簡単のはず (symlinkを一つ変えるだけのはず)
>>58 OSもファイルシステムも違うからあまり比較にならん
64 :
root▲▲ ★ :2010/06/30(水) 02:08:05 ID:???0
あとは、 ・httpd の最大数が多すぎるかもしれない → logbuffer のはけがよくなれば、少なくできるかもしれない かな。
>>56 ・ライトキャッシュが増える。
・ストライプサイズを調整できるのでSSDの書き込み時のオーバーヘッドを最小限にできる。
きちんとしたアレイコントローラを使えばパフォーマンス向上は期待できる。
67 :
動け動けウゴウゴ2ちゃんねる :2010/06/30(水) 02:09:26 ID:bC+IRwbV0
おいチョン公、これなんで表ざたになんねえんだろうなぁ。笑い
キモブサが調子こいてんじゃねえぞ鼻糞
http://love6.2ch.net/test/read.cgi/male/1205246585/l50 161 :Mr.名無しさん:2008/03/12(水) 00:09:02
>>157 明日天皇を射殺するわ
291 :Mr.名無しさん:2008/03/12(水) 00:23:58
レイプは健康に良い
464 :Mr.名無しさん:2008/03/12(水) 00:38:26
日本人のクソのような教育水準じゃ、民主的に天皇制をなくすことなんて無理だよ
376 :Mr.名無しさん:2008/03/12(水) 00:30:04
秋篠宮殿下御夫妻が生き残って皇太子は政府専用機に乗ってる時に特攻されて殉職すれば日本は幸せになる
ロイヤルニートが皇后なんて有り合えない!
552 :Mr.名無しさん:2008/03/12(水) 00:44:09
浮浪者殺すのと、天皇殺すのは罪の重さが違うの?
68 :
root▲▲ ★ :2010/06/30(水) 02:10:20 ID:???0
あとは、 ・OSを8.1Rにし、従来のataドライバではなくahciドライバで動かす → OSインストール時にそのように設定する必要があります ahciドライバにする場合にインストール時にやることは基本的に、 emの差し替えにちょっと近いのり。 ここの過去ログにもあったはず。
>44 誰かがやってくれるかもしれないけど、やってくれないかもしれないからな つか専門用語ばかりなので書いている本人が理解していないのが困りもの ∧_∧ ∧__∧ (´<_` ) 無駄な労力だな、兄者 ( ´_ゝ`)/ .⌒i まぁ特筆すべき件については、最終的に誰かが書くと思うけどね _(__つ/ ̄ ̄ ̄/i |_ \/___/ ヽ⊃
>>63 そりゃそうだけどそこのレポートでRAIDカード使った人だと
1801MB/sも出てるんだよね
まぁ故障率も上がるし、緊急用ではあるかな
>>58 先に書かれたけここで出るかは微妙ですね。
出たら面白いとは思うのは確かですけど。
>>64 入口の受け入れ減らして、中での混雑の解消はかるって感じですか。
フーリガンよろしく、サッカー関連で運営板のあちこちに殴り込みがwww
>>70 それはRAIDカードのRAMキャッシュに書いてる時の速度
>>56 64GBありゃ足りるんじゃね?
ランダム足りないなら8.1RのNCQ待つのも手。
77 :
root▲▲ ★ :2010/06/30(水) 02:24:21 ID:???0
logbuffer ですが,現状では読み込みは aio_read() になってますが 書き込みは元のままの処理 (fputs(), fflush()) です. とりあえず入力(httpd からみると出力)を詰まらせないという意図だったんですが, 書き込みが何らかの要因で詰まると結局詰まるということになるんで, 書き込みも aio_write() にするというのは考えられますね. あとマルチスレッド化ですが, 1. 同期I/O(=ブロックする可能性がある)処理を別スレッドにやらせる 2. 同じ処理を並列的に実行する のいずれかであれば有効なんですが,非同期I/Oなら 1. の観点では不要となり, 一方 logbuffer は入り口も出口もそれぞれ1ヶ所ずつなので 2. のように並列化する要素もなかなか見あたらない気がします.
直接何も手伝えないのがもどかしいですが、運営の方々マジGJです(`Д´)ゞ
>>69 分かりやすいし面白いから密かに楽しみにしてるよwいつも乙w
80 :
root▲▲ ★ :2010/06/30(水) 02:27:14 ID:???0
>>78 > 書き込みが何らかの要因で詰まると結局詰まるということになるんで,
> 書き込みも aio_write() にするというのは考えられますね.
おー。
ぜひぜひ。
> あとマルチスレッド化ですが,
> 1. 同期I/O(=ブロックする可能性がある)処理を別スレッドにやらせる
> 2. 同じ処理を並列的に実行する
> のいずれかであれば有効なんですが,非同期I/Oなら 1. の観点では不要となり,
> 一方 logbuffer は入り口も出口もそれぞれ1ヶ所ずつなので
> 2. のように並列化する要素もなかなか見あたらない気がします.
そうですね。非常に冷静な見解です。
bbsdやmatdで使っているマルチスレッド化とはちょっと違うかんじですか。
81 :
△ ◆garnetGnNk :2010/06/30(水) 02:36:10 ID:YtxKG4n/0 BE:360767982-2BP(1245)
logbufferってローテート用のプログラムだから mod_log_configに吸収させてみるとか。
82 :
root▲▲ ★ :2010/06/30(水) 02:56:18 ID:???0
>>81 それも、ちょっと考えてました。
ただ、httpdにモノリシックに組み込んでしまうよりは、
別プロセスの方が、rtprioで柔軟に活入れできるとか、
aio(4)を使って効率化を図れるとかのメリットがあるのかも。
バーボンは止めたまま?
84 :
root▲▲ ★ :2010/06/30(水) 03:32:26 ID:???0
そんなわけで、有意義な戦いですた。 rock54やBBQ/BBMサーバの切替は、 量産型新tigerを使って、色々うまく詰め込むかんじなのかなと。
85 :
root▲▲ ★ :2010/06/30(水) 03:35:08 ID:???0
で、明日もふつーに仕事なので、 そろそろねるです。 「けいおん」の盛り上がりがかわいく見える。
86 :
root▲▲ ★ :2010/06/30(水) 03:45:38 ID:???0
88 :
root▲▲ ★ :2010/06/30(水) 07:22:58 ID:???0
>>87 vm.pmap.pg_ps_enabled (superpages) は、
8.1R 入れればデフォルトでオンになってますね。
確か 8.0R からだったかな。
%uname -n
tiger3546.maido3.com
%uname -r
8.1-RC1
%sysctl vm.pmap.pg_ps_enabled
vm.pmap.pg_ps_enabled: 1
BSDのそういった新機能は、
・誰かが新機能を開発する
↓
・標準カーネルに新機能がデフォルトoffで組み込まれる
→ 人柱さんが機能を使えるようになる
→ 勇気あるチャレンジャーが人柱をし、負荷かけてサーバ落としまくる
→ 新機能がデバッグされ、調整され、洗練される
↓
・次のバージョンのOSでは、新機能がデフォルトonになる
↓
ばんじゃーいAA略
というかんじで開発されているようです。
試合前に言ってた「気分だけでも書き込めれば吸い込まれても幸せ」だけどさ ニコニコ動画は生放送で立ち見とか席の場所とかですでにそれに近いことをやってる気がする すなわち視聴者はみんなのコメを見てるわけでもないしコメを視聴者とか生主に見てもらえてもいない場合がある でも叫ぶばっかりで会話が成立しないのは利用者としては結構悲しい つことで、書き込みを吸い込ますより遅延反映とかの方がありがたい たとえばレス番だけ確保してキタ━(゚∀゚)━ !!!!!とかで埋めておいてあとから書き換えるとか 負荷軽減なら専ブラ用にP2Pでdat取得するシステム開発とか
>>89 P2Pは問答無用で遮断ISPがあるこの状況で…
遮断されないISPの分軽くなれば十分じゃね
まぁ、回線が許すならSAKURAの専用サーバあたりで運営できそうだしな。本来は500kB程度のdatのやり取りだし。
SSDの性能をどうにかしたいなら…やっぱりNCQかねえ。 NCQ有効化が無理なら無しでもそこそこやれる東芝あたりに乗り換えとか。
P2Pとかそこまでやるなら雪だるま構成にした方が早いんじゃ
95 :
む@出先 :2010/06/30(水) 10:57:00 ID:rT0kLg8K0
がらにもなく、今たまたま読んだこれに感動した。
http://kamome.2ch.net/test/read.cgi/mnewsplus/1277856323/14 14 :名無しさん@恐縮です:2010/06/30(水) 09:09:58 ID:JAUiiJLi0
「大切なのは批評家ではない。強い人間がどのようにつまづいた
かを指摘する人物、または、ある偉業をなした者について、もっと
うまくできたかどうかを分析する人物ではない。すべての功績は、
実際に闘技場にいた人物のものだ。顔を泥と汗で汚した者、勇敢
に戦った者、間違いを犯し、そこから何度も立ち上がった者、偉大
な情熱、偉大な献身を知る者、価値ある大義のために身を捧げる
者、そして、最高の結果は目標の高度な達成という勝利であり、最
悪の結果は、仮に失敗しても、少なくとも最善を尽くして失敗したの
であり、あの勝利も敗北も知らない、寒々とした臆病な魂と、同じ
場所に立つことはないと知っている者だ」
テオドア・ルーズベルト
96 :
む@出先 :2010/06/30(水) 11:36:45 ID:rT0kLg8K0
>>62 > ・rtprio で優先度を speedy_backend よりもさらに上にする
> → 試す価値あり、明日昼にでも
TransferLog "| exec /usr/sbin/rtprio 31 /usr/local/sbin/logbuffer"
↓
TransferLog "| exec /usr/sbin/rtprio 23 /usr/local/sbin/logbuffer"
を、今日にでも投入しようかと。
97 :
む@出先 :2010/06/30(水) 12:10:28 ID:rT0kLg8K0
98 :
む@出先 :2010/06/30(水) 12:11:56 ID:rT0kLg8K0
>>97 ポイント部分を引用
> aio_write() システムコールによって、呼び出し元プロセスは iocb->aio_buf が
> 指すバッファから記述子 iocb->aio_fildes に iocb->aio_nbytes を書き込めま
> す。書み込み要求が記述子への待ち行列に入れられてしまうと、ただちに呼び出
> しは戻ります。呼び出しが戻った時点で書み込みは完了している可能性も完了し
> ていない可能性もあります。無効な引数のためなどにより要求を待ち行列に入れ
> られない場合は、呼び出しは要求を待ち行列に入れずに戻ります。
99 :
む@出先 :2010/06/30(水) 12:23:57 ID:rT0kLg8K0
http://1978th.net/tech/promenade.cgi?id=60 > ここで重要なのは、追記モードで開いたファイルの場合、
> aio_writeを用いた順番と書き込まれるデータの順番が同じになるのが
> 保証されることです。
dat方面でちょっと心配していたことは、どうやら起こらないようだ。
あと、以前SunOSさんが指摘されていた、
http://search.cpan.org/~mlehmann/IO-AIO-3.65/AIO.pm In this version, a number of threads are started that execute your
requests and signal their completion.
You don't need thread support in perl, and the threads created by
this module will not be visible to perl. In the future, this module
might make use of the native aio functions available on many operating
systems.
However, they are often not well-supported or restricted
(GNU/Linux doesn't allow them on normal files currently, for example),
and they would only support aio_read and aio_write, so the remaining
functionality would have to be implemented using threads anyway.
という話もあるのか。
100 :
む@出先 :2010/06/30(水) 12:43:56 ID:rT0kLg8K0
あとは大技として、 require 'sys/syscall.ph'; して、 SYS_aio_write とかを使うというのも、考えられるかな。 これだと、モジュールの追加作業がとりあえず要らないし、 if文入れて、hayabusaとkamomeだけまずは特別処理にすることもできそうだ。
101 :
む@出先 :2010/06/30(水) 12:55:09 ID:rT0kLg8K0
これ以上if文を増やしたくないって言ってなかったっけ
103 :
む@出先 :2010/06/30(水) 13:38:07 ID:rT0kLg8K0
>>102 もちろんうまくいくようなら、全サーバに適用→そのif文廃止 かと。
if文を増やしたくない理由が、負荷低減にあるんだと思うから 負荷を低減できるようなif文ならむしろ増やしたいだろうさ
>>95 「実際に動いた奴>越えられない壁>外野で騒いでいるだけの奴」ですね。
サッカーに限らず普遍的な言葉ですよね。
そういや
「困っている人を自分は無関係と目を背けながらも、他人の助け方には文句をつけることで
社会的責任を果たしていると勘違いするような人間はネットでよく見かける。」
なんてつぶやきを某代理人が引用してたのを思い出した。
ある意味
>>88 の人柱さん達にも通じる話ですよね。
「百聞は一見に如かず」も元は「百聞は一見に如かず、百見は一試に如かず」だったそうです。
ランクづけするならここでやるな 見ている人が不快になる
>>89 「キター」は一体感を楽しみたい方もいると思いますが
自分は審判の判定が変だと思った時「他にもそう思った人いるかな?」で実況をロムる事が多いので
やはり皆さんの書き込みは表示していただいたほうが有難いです
>>106 勘違いしてないか?
生産的に助言を与える事を誰も否定はしていないじゃん。
なんだ、政治コピペかw
110 :
ちきちーた ★ :2010/06/30(水) 14:59:35 ID:???0
バーボン起動 @hayabusa
>>46 F1イギリスGPもあるよ。これは大したことないかもだが重なるとなると
例によってトリップつきで。
これから
>>96 申請します。 @ hayabusa
httpd再起動入ります。
↓落ちた落ちたーのレスまみれー
ノ´⌒ヽ,, γ⌒´ ヽ, // ""⌒⌒"\ ) i / ⌒ ⌒ ヽ ) !゙ (へ)` ´(へ)i/ | /// (__人_)//| ボーナス出たお \__ `ー'_/ / ヽ
116 :
む@出先 :2010/06/30(水) 16:46:30 ID:rT0kLg8K0
36252 root 1 -8 r23 9944K 1868K aiospn 7 0:01 0.00% logbuffer 設定されたもよりです。 確認の返事をメールで出すのが今難しいので、以下同文。>なかのひと
117 :
む@出先 :2010/06/30(水) 16:48:33 ID:rT0kLg8K0
tiger3552、こんなの出ていた。 Approaching the limit on PV entries, consider increasing either the vm.pmap.shpgperproc or the vm.pmap.pv_entry_max sysctl. Approaching the limit on PV entries, consider increasing either the vm.pmap.shpgperproc or the vm.pmap.pv_entry_max sysctl. Approaching the limit on PV entries, consider increasing either the vm.pmap.shpgperproc or the vm.pmap.pv_entry_max sysctl. Approaching the limit on PV entries, consider increasing either the vm.pmap.shpgperproc or the vm.pmap.pv_entry_max sysctl. Approaching the limit on PV entries, consider increasing either the vm.pmap.shpgperproc or the vm.pmap.pv_entry_max sysctl. Approaching the limit on PV entries, consider increasing either the vm.pmap.shpgperproc or the vm.pmap.pv_entry_max sysctl.
118 :
む@出先 :2010/06/30(水) 16:53:32 ID:rT0kLg8K0
>>117 は昨日の「落ちていたとき」だと思われ。
システムの中の値が足りなくなったと。
これは確か「スペシャルセッティング1」で、
loader.conf の中で既に増やしていた気がするので、
システムが言ってきているとおりに値を増やすのがいいのか、
あるいはそうではないのか、まずは調べてみる方向で。
119 :
む@出先 :2010/06/30(水) 17:00:08 ID:rT0kLg8K0
デフォルトは今200で、 「スペシャルセッティング1」ではこの値を、 メモリ4GBytes用のチューニングとして、既に 2048 に増やしてあると。 で、もっと増やす必要がありそうと。
aio_write() 入れてみました @logbuffer
121 :
む@出先 :2010/06/30(水) 17:03:43 ID:rT0kLg8K0
/usr/src/sys/amd64/amd64/pmap.c かな。 pmap.c は前にも読んでみた記憶があるソースだけど、 あとで改めて読んでみるか。
122 :
む@出先 :2010/06/30(水) 17:05:26 ID:rT0kLg8K0
>>120 おー、あとで www2 でためしてみます。
pv_entry_max = (shpgperproc * maxproc) + (((((availmem - 1) * 2) + 1) / pagesize) - firstpage) でしたっけ?
124 :
む@出先 :2010/06/30(水) 17:17:52 ID:rT0kLg8K0
>>120 さらっとソース diff しました。
華麗なるダブルバッファ方式、というかんじに見えますた。
昔あった edd というやつを思い出しました。とてもいいふいんき(なぜか(りゃ)にみえます。
あと、
-#define MAX_AIO_READ (2*1024*1024)
+#define MAX_AIO_READ (4*1024*1024)
というのもしぶいです。
本当にhayabusaは、ギリギリ(アウト?)な場面を経験するごとに、 むむむさんが、「こんなこともあろうかと」と現れて、 対策を実装していくんだな。 なんか、実機が手元にないところも探査機に似ている。
126 :
む@出先 :2010/06/30(水) 17:21:48 ID:rT0kLg8K0
と思ったら、 8097 root 1 67 r23 20312K 3952K CPU1 1 1:04 100.00% logbuffer なんか、暴走してしまった。 ログファイルもとられないな。 とりあえず元に戻した。
128 :
む@出先 :2010/06/30(水) 17:32:26 ID:rT0kLg8K0
>>127 それは、さっきのhttpd再起動の影響かと。
>>126 のテストは www2 でやっています。
129 :
む@出先 :2010/06/30(水) 17:37:45 ID:rT0kLg8K0
>SunOSさん デバッガでさらっと見てみたら、 while ( aio_read(&aiocbr) && errno == EAGAIN ) sched_yield(); ここでぐるぐるしているみたいです。
130 :
む@出先 :2010/06/30(水) 17:38:36 ID:rT0kLg8K0
あ、ちがうかも。 sched_yield は他にもあるのか。 もうちょっとしらべてみます。
131 :
む@出先 :2010/06/30(水) 17:40:46 ID:rT0kLg8K0
(gdb) where #0 0x0000000800acf98c in sched_yield () from /lib/libc.so.7 #1 0x00000000004024d5 in Logbuffer::loop (this=0x7fffffffe970) at logbuffer.cpp:228 #2 0x0000000000402d44 in main () at logbuffer.cpp:407
132 :
む@出先 :2010/06/30(水) 17:42:55 ID:rT0kLg8K0
>>131 で確定ですね。228行目。
これで、デバッグできるのかしら。
>>129-132 どうもすみませんです.で,228行目でループということだと
aio_write() が EAGAIN でずっと失敗し続けてるということに......
なぜそうなるのか,しばらく思案してみます......
134 :
む@出先 :2010/06/30(水) 18:02:21 ID:rT0kLg8K0
>>133 どもです。
ちなみにその状態の時、ログファイルは吐かれておらず、
httpdは応答を返せない状態になるようです。
135 :
む@出先 :2010/06/30(水) 18:19:49 ID:rT0kLg8K0
>>133 /usr/src/sys/kern/vfs_aio.c
結局、ここにいって、EAGAIN になっているみたい。
/*
* Queue a new AIO request. Choosing either the threaded or direct physio VCHR
* technique is done in this code.
*/
int
aio_aqueue(struct thread *td, struct aiocb *job, struct aioliojob *lj,
int type, struct aiocb_ops *ops)
{
struct proc *p = td->td_proc;
struct file *fp;
struct socket *so;
struct aiocblist *aiocbe, *cb;
struct kaioinfo *ki;
struct kevent kev;
struct sockbuf *sb;
int opcode;
int error;
int fd, kqfd;
int jid;
if (p->p_aioinfo == NULL)
aio_init_aioinfo(p);
ki = p->p_aioinfo;
ops->store_status(job, -1);
ops->store_error(job, 0);
ops->store_kernelinfo(job, -1);
if (num_queue_count >= max_queue_count ||
ki->kaio_count >= ki->kaio_qallowed_count) {
ops->store_error(job, EAGAIN);
return (EAGAIN);
}
(以下略)
136 :
む@出先 :2010/06/30(水) 18:21:54 ID:rT0kLg8K0
%grep kaio_qallowed_count * vfs_aio.c: int kaio_qallowed_count; /* (*) maxiumu size of AIO queue */ vfs_aio.c: ki->kaio_qallowed_count = max_aio_queue_per_proc; vfs_aio.c: ki->kaio_count >= ki->kaio_qallowed_count) { %grep max_aio_queue_per_proc * vfs_aio.c:static int max_aio_queue_per_proc = MAX_AIO_QUEUE_PER_PROC; vfs_aio.c:SYSCTL_INT(_vfs_aio, OID_AUTO, max_aio_queue_per_proc, CTLFLAG_RW, vfs_aio.c: &max_aio_queue_per_proc, 0, vfs_aio.c: ki->kaio_qallowed_count = max_aio_queue_per_proc; で、、、。 %sysctl -a | grep max_aio_queue_per_proc vfs.aio.max_aio_queue_per_proc: 256 うーむー、まじかいな。
137 :
む@出先 :2010/06/30(水) 18:24:26 ID:rT0kLg8K0
%sysctl vfs.aio.max_aio_queue_per_proc=1024 vfs.aio.max_aio_queue_per_proc: 256 -> 1024 わーい。うごいた。
138 :
む@出先 :2010/06/30(水) 18:25:09 ID:rT0kLg8K0
ということで、 ・SunOSさんのコーディングには虫はいないらしい ・FreeBSD側のチューニングが必要だったらしい ということの模様。
139 :
む@出先 :2010/06/30(水) 18:26:44 ID:rT0kLg8K0
というわけで、このへんをチューニングすれば、 もっといい結果が得られるかもしれない、ということが新たに判明。 %sysctl vfs.aio vfs.aio.max_buf_aio: 16 vfs.aio.max_aio_queue_per_proc: 1024 vfs.aio.max_aio_per_proc: 32 vfs.aio.unloadable: 0 vfs.aio.aiod_lifetime: 30000 vfs.aio.aiod_timeout: 10000 vfs.aio.num_buf_aio: 0 vfs.aio.num_queue_count: 513 vfs.aio.max_aio_queue: 1024 vfs.aio.target_aio_procs: 4 vfs.aio.num_aio_procs: 4 vfs.aio.max_aio_procs: 32
>>134-139 なるほど,そういうことでしたか.
#define AIO_BUF_WRITE_NUMBER (512)
これがデフォルトの vfs.aio.max_aio_queue_per_proc より大幅に大きかったと......
141 :
む@出先 :2010/06/30(水) 18:31:02 ID:rT0kLg8K0
>>140 結局いつもどおり、カーネルソースを当たるかんじでした。
例によって全部読むんじゃなくて、必要なところをちょこちょことやって、
それっぽいのを grep して、sysctl であたりをつける、みたいな。
>>135-137 が割と、いつもやっていることを如実に示してますです。
この例ではうまくいったわけですが、しくった時にはシステム即死で。
なるほど、まったく分からん
143 :
ビグレックス :2010/06/30(水) 18:40:55 ID:HmDSYSbI0
144 :
む@出先 :2010/06/30(水) 18:41:11 ID:rT0kLg8K0
/etc/sysctl.conf @ www2 に、とりあえず、 # tuning for aio(4) vfs.aio.max_aio_queue_per_proc=1024 を追加した。 ほかは、今時間あんまりとれないので、とりあえずあとで。
>>143 SUCCESS: 200 OK [逆引き不可] +1pt.
146 :
む@出先 :2010/06/30(水) 18:52:54 ID:rT0kLg8K0
<今日の設定内容> ・logbufferの優先度を speedy_backendよりも上げる → 完了 @ hayabusa <今日の検討・準備事項> ・bbs.cgiの書き込み部分をaio対応にできるとうれしいかも ・SunOSさん版logbufferがaio_readに加え、aio_writeにも対応した ・そのlogbufferを動かすには、FreeBSD側のチューニングが必要になるとわかった ・そのほかにもvfs.aio関係をいじると、効率が上がるかもしれない <明日以降の作業依頼予定> ・aio_read/aio_write両対応版SunOSさんlogbufferのインストール依頼 ・同時に、/etc/sysctl.confに設定追加(スペシャルセッティング9) スペシャルセッティング9の設定内容は、これから詰めるかんじで。
147 :
む@出先 :2010/06/30(水) 18:53:50 ID:rT0kLg8K0
そんなわけで、都合によりこれからしばらくオフライン。 今日は早寝モードかも。
148 :
む@出先 :2010/06/30(水) 19:11:57 ID:rT0kLg8K0
流れが・・止まった・・・・
昨日の様なビックウェーブは当分無さそうだから、しばらくは淡々と作業って 感じでしょうかね。 判った事も色々あったし、また順調に経験値が上がったって事で。
ジブリ祭りにも例のヤツ来ないしなあ。 耳すまってどうして実況早くなるのか判らん。 なんかネタあったっけ。
児童生成(;゚∀゚)=3ハァハァ
>>151 序盤のコンクリートロード〜♪とか、ラストの「けっこんしよう!」からEDの流れは
徹底的にレスしてる。
それ以外は知らない。
原作通りの夢落ちネタだったらラストもっと加速してたのかなあとか、ふと思った事は
無くもない。
156 :
◆amidaMovTg :2010/06/30(水) 23:59:10 ID:T8pmWP4VP BE:3338221469-2BP(100)
飛べない豚はただの豚ですこしはレスがつくだろうけれど、W杯ほどつくはずがありませんからねぇ。
新鯖のおみくじ機能ってどうなってるんだろうか
日本は負けたけどW杯は並のスポーツ中継以上にはまだ盛り上がるだろ?
kamomeおみくじ無くなってしまった
地上波見てるのはにわか
kamome.2ch.netにおみくじいれてくだしあ><
. (・o・)」 はにわハオ! .「| |
asagaoサーバーできたのかと思ったw
>>163 おお!7月になったからか!
無機質なグラフのページでもこういうのがあるのは良いなあw
test
167 :
trick ★ :2010/07/01(木) 01:18:11 ID:???0 BE:198375168-PLT(91350)
GJ&乙です。やっぱyutori7のE9が気になりますね…
trickさん、お疲れ様でした〜 99から98に下がったんですね。gimpoに至っては80まで下がってますし・・・(´・ω・)
>>158 後は深夜ばかりだから、無理じゃないかなあ。
ネット弁慶は単なる配慮である。 現実では言えないといっているがガツンと真実を話してしまうと 相手を傷つけてしまうだろう。 (中傷ではなく問題点)
>おきつねさんの勝ちはどーんでも詰まりもしないような勝ち方? これを基準にするのなら惨敗なのでは?
ん、2chの掲示板鯖としてはいわゆる5代目namidame(tiger3527)位しか導入されてないのか。 かつ退役済みだから関係なかったか。
もうFreeBSD 8.1にしようぜ。
もうメモリ1TBにしようじぇ
その前にx86から脱却しようぜ
pc11が退役すれば掲示板鯖はx86から脱却できるぜ
じゃあIAから脱却しようぜ
>>181 何か勘違いしてるみたいだけど先に作ったのtrickさんだよ。
ついでにどっちも別に公式じゃないし…
そろそろ、にちゃんねる専用ブラウザならぬ、にちゃんねる専用HTTPサーバーの開発だ。
そういえば2ちゃんねるでOS作っていなかったっけ?
kamomeの板のsubject.txtなんかおかしくないか?
なんかっていわれても
188 :
root▲▲ ★ :2010/07/01(木) 12:28:55 ID:???0
・SunOSさん版logbuffer(aio_read/aio_write両対応版)のインストール依頼 ・上記に伴う、aio(4)関連のチューニングの新規追加(スペシャルチューニング9) 午後2時前後に依頼します。 たぶん午後3時ぐらいの作業開始をめど。 作業はchangi設定をはずしてからしないといけないので、 hayabusaとkamomeで、それぞれ30分ぐらいずつはかかるはず。 スペシャルセッティング9の解説と内容は、別途またここに。
>>97-99 おお、bbs.cgiの再々開発だと思ったら胸熱。
bbs.cgiの再開発に着手した頃のスレッドを読んで、遙か歩んできた道を見てさらに胸熱。
190 :
root▲▲ ★ :2010/07/01(木) 14:09:27 ID:???0
<むむむスペシャルセッティング9: aio(4)対応版(SunOSさん版)logbuffer導入に伴うシステムチューニング> 1) /usr/local 配下をメモリディスクにする設定を一時的に解除する 2) Apache を起動しないように設定する 3) サーバをリブートし、再起動を確認する 4) 別送した logbuffer プログラムを展開・インストールする % tar xzf logbuffer.tar.gz % cd logbuffer % make % su # make install 5) aio(4)が有効になるように、/boot/loader.confに設定を追加する (既に設定済みですが、設定手順を明確にするためにここに記述) aio_load="YES" 6) SunOSさん版logbufferが正しく動作するように、/etc/sysctl.confに設定を追加する # tuning for aio(4) vfs.aio.max_aio_queue_per_proc=1024 7) /usr/local 配下をメモリディスクにする設定を復活させる 8) Apache を起動するように設定する 9) リブートし、httpd と logbuffer の起動を確認する
191 :
root▲▲ ★ :2010/07/01(木) 14:14:39 ID:???0
私の準備ができたら、
>>190 を、tiger3552 = hayabusa と tiger3551 = kamome で
実施してもらうための依頼を出します。
hayabusa = tiger3552 15:00 JST作業開始
作業時間は問題なければ30分ぐらい
kamome = tiger3551 15:30 JST以降に作業開始
作業時間は問題なければ30分ぐらい
で、いこうと思います。
logbufferのソースは、依頼の後に別便で送ります。
192 :
root▲▲ ★ :2010/07/01(木) 14:18:42 ID:???0
なお、それぞれの作業中は、hayabusa と kamome は利用できなくなります。
193 :
root▲▲ ★ :2010/07/01(木) 14:25:48 ID:???0
ふと思ったんですが,changi 設定使う場合でも HDD に保持する元の内容は例えば /usr/local-hdd とかに置いておいて そこから md 上の /usr/local にコピーする形にすれば, 中身更新する際のリブートが不要になるんじゃないかと.
195 :
root▲▲ ★ :2010/07/01(木) 14:36:25 ID:???0
>>194 ありかもですね。
portsの保守性を下げず、
かつうまくやる設定がしたいところです。
そう考えるとむしろ、/usr/local-md なのかも。
いずれにせよ、一考の余地ありで。
196 :
root▲▲ ★ :2010/07/01(木) 15:00:46 ID:???0
予定通り開始するとの連絡ありました。 tiger3552 bbs.cgi 停止。
197 :
動け動けウゴウゴ2ちゃんねる :2010/07/01(木) 15:02:08 ID:Dy7z3iD30
ズズチャーン書き込みできないんですけど
198 :
root▲▲ ★ :2010/07/01(木) 15:12:33 ID:???0
作業おわり @ hayabusa
199 :
root▲▲ ★ :2010/07/01(木) 15:14:07 ID:???0
問題なさげなかんじ。 特に問題なければ、 kamome で同じ作業を 15:30 からで。
はやっ
201 :
root▲▲ ★ :2010/07/01(木) 15:21:51 ID:???0
昔はプチプチとやっていたジンギスカンな板の板復帰を、 自作の fukkiall.sh で一撃でやるようにしたので、少し楽になりますた。 これに相当するのを起動時に児童実行、じゃないや自動実行するようにすれば、 ジンギスカンな板があっても、運用が楽になるのかしら。
202 :
root▲▲ ★ :2010/07/01(木) 15:25:12 ID:???0
tiger3551 の作業依頼は、15:30 に別途出す予定。 作業内容は tiger3552 と同じ。
203 :
root▲▲ ★ :2010/07/01(木) 15:30:46 ID:???0
tiger3551 = kamome 作業依頼した。 bbs.cgi停止。
204 :
ちきちーた ★ :2010/07/01(木) 15:33:42 ID:???0
>>201 どんどん機械に支配されていく
だれも気にかけない板だったら復帰かけなくてok
落ちるの忘れてた
そんな哀しいことゆうなよぉ
208 :
root▲▲ ★ :2010/07/01(木) 15:36:03 ID:???0
>>204 あら、りょうかいです。
ひと系でうまくいってるなら、わざわざ変える必要なさそうですね。
210 :
root▲▲ ★ :2010/07/01(木) 15:42:03 ID:???0
作業おわり @ kamome
かもめでおみくじができるようになんとかしてください
212 :
ちきちーた ★ :2010/07/01(木) 15:45:21 ID:???0
りょうかいー
全部大吉にしてー
『鯖落ちスレをチェックして「板名+復帰してー」のレス数をカウントし、 ある一定数を超えたらその板を復帰』 自動的にやるにしてもこれくらいの遊びは必要だな。
>>212 おみくじ確認した
おいちゃんありがとー
技術論も精神論も2ch論も人それぞれなんだから好きにすればいいよ
そのうち削除も規制も機械がやるようになるのさ。解除モナ。
で、おいちゃんはメーテルと旅にでるんだ
鯖を統合するに当たって、板を減らしたいのか
224 :
root▲▲ ★ :2010/07/01(木) 17:07:14 ID:???0
>>224 rootさん
了解しました。
WC、頑張って下さいませ
。
226 :
root▲▲ ★ :2010/07/01(木) 18:20:06 ID:???0
某方面から、kamomeではrtprioでの活入れをやっていない件について お尋ねされたので、ここでも同じ内容を答えておこうかなと。 これは、今のところは「あえてそうしている」という状態です。 hayabusaの方がkamomeよりもCPU資源が豊富なので、 あれこれ活入れしてCPU資源を特別に割り当てても、 他への影響は少なく、問題なくいけるだろう、という読みがありました。 で、様子を見る限り、この活入れはかなり良い効果がありそうなので、 もし仮にkamomeにもっと板を詰め込まれて、重くなるよ局面が来るようなら、 様子を見ながら hayabusaでやったのと同じ活入れを、 ぼちぼちするかもしれないということで。 でも今のところはまだ、「手札」にしておきたいかもなと。
まさに「こんなこともあろうかと」
奥の手は見せるな・・・見せるなら更に奥の手を持て
\疾風/\切り札/
そういえばrock54用の新鯖はどうなった?
231 :
root▲▲ ★ :2010/07/01(木) 20:20:22 ID:???0
今日WCはお休みで、明日からが8強対戦なんでしたっけ。
オランダ 対 ブラジル - 7 月2日 23:00 (NHK総合) ウルグアイ 対 ガーナ - 7 月3日 3:30 (NHK総合) アルゼンチン 対 ドイツ - 7 月3日 23:00 (TBS系) パラグアイ 対 スペイン - 7 月4日 3:30 (日本テレビ系) google先生調べ(日本時間)
233 :
ろくす ◆Rocks/oCOQ :2010/07/01(木) 20:27:38 ID:RYQP3OKb0
トイレお休みとか我慢できない
234 :
root▲▲ ★ :2010/07/01(木) 20:30:36 ID:???0
毎回胸が熱い云々書き込んでるのは同じやつなのか
新鯖まだですか?
6コアのi7 970が今月中に出るって hayabusaのCPUこれに変えてよ ・「Corei7-970」(Gulftown,7/18〜7/24の間に正式発表,6コア)
>>146 bbs.cgiってイベントループを持っていないと思うから、
aio化ってできないんじゃないかな。
どちらかというと、bbsdをaio化したほうが、よさそう。
よくわかんないけど、writeの返りを待たなくてもいいってことじゃないかしら。
240 :
root▲▲ ★ :2010/07/02(金) 00:24:54 ID:???0
きたく。
>>238 ふむふむ。
>>239 お、そうか。
ってことは、今のprintでやってるのを、
なんか違うのでやるといいかもしれん、ってことなのかな。
というか今思い出したけど、
そんな話、前にもどっかで書いた記憶が。
kakikkomi.txt 見てみるか。
pc11返却まだですか
>>240 どれだけ記録してるんですかw>kakikomi.txt
もしかして書いたレス全部取っといてるのか・・・
>>239 writeの応答は待たなくてもよいけど、書き込み完了時に
バッファを解放する必要があるので、処理を終らせてよい
わけではないと思う。
>>242 2002年の乳即+記者キャップ応募から
噂では100MB超えているとかいないとか
bbsdの方が性能が良さそうだけど、bbs.cgiの方がup to dateに改良され続けている から互いに整合性がとれなくなってしまうという感じなのだろうか。
kakikomiで重くなるから1年ごとにファイルをバックアップ回ししてるな めぼしいことやり尽くしたしなぁ ハードウェア生かすのにOS入れ替えなんて言う魅惑のヒビキもあるけど
>244 よくわかんないけど、writeが終わったかどうか判定すればいいんじゃない? forkのwaitみたいな。
250 :
root▲▲ ★ :2010/07/02(金) 01:17:50 ID:???0
>>249 終ったかどうか待ち合わせしないといけないので、
結局bbs.cgiを起動したapacheのプロセスはつかみっぱなしに
なって、aio化する前と変わらないんじゃないかなと。
bbs.cgiの中身を見たことないので、あくまで想像です。
>252 おぉ、なるほど。 俺はこう考えていたんですけどね。 write→他の処理→終わったか確認 こうするとwriteの部分だけ気持ち速くなる気がするので、 最悪今と同じ速度(常に最悪ならaio化の意味はないけど)。 待たないで非同期ならbbsd?
write→他の処理→終わったか確認(終わってることを期待) でし。 なんか某あれで頭がいっぱいなのでおなかがすきました。
bbs.cgi への aio 適用ですが,個別のリクエスト処理中に書き込み完了を待たず レスポンスを返すということなら,SpeedyCGI の特性を生かし persistent な変数で aio 用バッファを確保するとかすればそういうこともできないこともないのかも知れません...... が,いずれかのタイミングで処理の完了をチェックして解放ということはどっちにしろ必要ですね. 一方 bbsd については,今のままでも bbs.cgi から bbsd へリクエストを投げる 段階でキューイングされるので(UDP ソケットにキューイングの機能が備わっており, TCP ではなく UDP を使っている理由の一つはそれ),あえて aio を使うこともないかなと思ってます. bbsd の課題としては,924 関連等 bbsd に未対応なスクリプトとか, SETTING.TXT を消した時 bbsd に対して手動で操作しなくても板を unload するようにしたいとか いったところですが,まぁその辺は淡々と対応を進めればいいのかなと思います. 規制関連等の比較的更新がよく行われている部分は bbs.cgi が担当し, bbsd が担うのは基本的に最終的な書き込み部分という役割分担なので, 元々 bbsd は bbs.cgi ほどには頻繁に更新する必要はないですね. あと,bbsd を使うと復帰が不要になってそれだと風情がなくなるということも 言われた気がするんですが,通常稼働時に dat と subject.txt の不整合を 修正するという意味での復帰はまず必要なくなると思いますが, しかしサーバダウン -> リブート時の復帰はいずれにせよ必要なので, その部分をあえて自動化するとかしない限り風情は残るかと思います.
専門的な話が、、、 何ていうか日本語でおkってかんじだな。 カウント変数をグローバル(?)に取っておいて、 一回の書き込み毎に1ずつ減らしていって0になったら確認、とか?
>>256 専門的な話をするスレで何言ってんだよ。
専門的じゃなくてクローズドな話
>>256 ちゃんと読め。単語の意味くらいは自分で調べろ。
「persistent な変数で aio 用バッファを確保する」
復帰に風情を感じた事がない
261 :
root▲▲ ★ :2010/07/02(金) 11:20:02 ID:???0
>>255 > 個別のリクエスト処理中に書き込み完了を待たず
> レスポンスを返すということなら,SpeedyCGI の特性を生かし persistent な変数で
> aio 用バッファを確保するとかすればそういうこともできないこともないのかも知れません......
これはちょっと面白いかもですね。SpeedyCGIの強みを生かすと。
> が,いずれかのタイミングで処理の完了をチェックして解放ということはどっちにしろ必要ですね.
うむむ、、、。
> 一方 bbsd については,今のままでも bbs.cgi から bbsd へリクエストを投げる
> 段階でキューイングされるので(UDP ソケットにキューイングの機能が備わっており,
> TCP ではなく UDP を使っている理由の一つはそれ),あえて aio を使うこともないかなと思ってます.
> bbsd の課題としては,924 関連等 bbsd に未対応なスクリプトとか,
> SETTING.TXT を消した時 bbsd に対して手動で操作しなくても板を unload するようにしたいとか
> いったところですが,まぁその辺は淡々と対応を進めればいいのかなと思います.
> 規制関連等の比較的更新がよく行われている部分は bbs.cgi が担当し,
> bbsd が担うのは基本的に最終的な書き込み部分という役割分担なので,
> 元々 bbsd は bbs.cgi ほどには頻繁に更新する必要はないですね.
> あと,bbsd を使うと復帰が不要になってそれだと風情がなくなるということも
> 言われた気がするんですが,通常稼働時に dat と subject.txt の不整合を
> 修正するという意味での復帰はまず必要なくなると思いますが,
> しかしサーバダウン -> リブート時の復帰はいずれにせよ必要なので,
> その部分をあえて自動化するとかしない限り風情は残るかと思います.
262 :
root▲▲ ★ :2010/07/02(金) 11:21:50 ID:???0
>>261 あら、暴発。
> 一方 bbsd については,今のままでも bbs.cgi から bbsd へリクエストを投げる
> 段階でキューイングされるので(UDP ソケットにキューイングの機能が備わっており,
> TCP ではなく UDP を使っている理由の一つはそれ),あえて aio を使うこともないかなと思ってます.
そういえば、こんな話が昔ありました。
http://qb5.2ch.net/test/read.cgi/operate/1212665493/91 91 名前: root▲▲ ★ 投稿日: 2008/06/08(日) 14:44:14 ID:???0 BE:2736656-DIA(100512)
【祭り】番犬★が管理人に怒られるスレッド【駄目】26
http://qb5.2ch.net/test/read.cgi/operate/1212510607/536-563 ROMの負荷はIsKoukokuをスキップしてもあまり効果なかった。
(少なくとも雪だるま環境では)
バーチャルホストは一つがいい
(SuExec 使わなくていい、mod_speedycgi 化できる)
bbsd環境でソケットのバッファを大きくしておくのは効果がある
/etc/sysctl.conf で、
kern.ipc.maxsockbuf=20480000
bbsd のオプションで、
-B 16000000
rtprioでbbsdのプライオリティを上げておくのは効果が高い
263 :
root▲▲ ★ :2010/07/02(金) 11:26:10 ID:???0
あとは、
> bbsd の課題としては,924 関連等 bbsd に未対応なスクリプトとか,
> SETTING.TXT を消した時 bbsd に対して手動で操作しなくても板を unload するようにしたいとか
> いったところですが,まぁその辺は淡々と対応を進めればいいのかなと思います.
そですね。淡々と。
> 規制関連等の比較的更新がよく行われている部分は bbs.cgi が担当し,
> bbsd が担うのは基本的に最終的な書き込み部分という役割分担なので,
> 元々 bbsd は bbs.cgi ほどには頻繁に更新する必要はないですね.
そですね。
そういう気がします。
> しかしサーバダウン -> リブート時の復帰はいずれにせよ必要なので,
> その部分をあえて自動化するとかしない限り風情は残るかと思います.
そんなわけで、
>>208 ですね。
264 :
root▲▲ ★ :2010/07/02(金) 12:41:51 ID:???0
あと、bbs.cgiでメスを入れるべきは、 たぶんきっと、index.html を作るところですね。 以前プロファイリングした結果を見直しても、圧倒的に違います。 他の処理よりも一桁、コストが高いです。 つまりここを何とかするだけで、 相当の見返りが期待できると。 で、個人的に思い始めているのは、 index.html を遅延書き込み(?) みたいなので、何とかできないものかなと。 datへの書き込みやログへの書き込みは、 完了を待ったほうがいいような気がするわけですが、 bbs.cgi でも最後のほうでやっている index.html の書き込みは、 必ずしもその完了を待たなくてもいいのかなと。
265 :
root▲▲ ★ :2010/07/02(金) 12:43:43 ID:???0
で、Saborinしていればそこはかなりスキップする、 という話はあるわけですが、前にも出たように新スレだとSaborinないし、 ここをうまくやれば全サーバで効果がありそうだし、 といったかんじで。
>datへの書き込みやログへの書き込みは、 今ってログの書き出しに失敗した場合、投稿自体も失敗扱いなんですか? datへ書き出してからログへ書き出す場合、ログ処理は失敗でも投稿は成功したことになりますし、 その逆なら現状ログへの書き出しは必須となりますし。 前者であるならログの書き出しが時系列に行われるように出来れば非同期でも良いと思うのですけど。
>ログの書き出しが時系列に行われるように
芋ほりのことを考えてなので特に必要がないんだったら、
>>266 の前者であるのなら非同期で問題ないような。
268 :
root▲▲ ★ :2010/07/02(金) 13:25:04 ID:???0
>>266-267 現時点では、datへの書き込みやログへの書き込み部分については、
私はいじる気はありませんです。
所詮、1行追記もので、
かつ書かれる量も index.html に比べれば以下略。
269 :
♪ ◆/y.Ychk2JQ :2010/07/02(金) 13:40:06 ID:PY/CV0HkP BE:1198292494-PLT(40446)
トップに表示されない下位スレのhtmlを作るのやめればいいのにー。
上10までのhtmlを作って、JSで読み込みですよ。
スレリストもsbuject.txtから読み込めばindexは完全に更新不要で夢が広がりんぐ。
index.html作成とリクエスト増はどっちが負荷高いんだろう。
関係ないけど、運用情報板の見たらやたら古いのが残ってる
http://qb5.2ch.net/operate/html/?C=M;O=A
271 :
root▲▲ ★ :2010/07/02(金) 13:42:54 ID:???0
>>269 > キャップ漏れ
むぎゅー @ qb5 / qb6
むぎゅーキタ━━━━(゚∀゚)━━━━!!
273 :
♪ ◆/y.Ychk2JQ :2010/07/02(金) 13:45:32 ID:PY/CV0HkP BE:1198292494-PLT(40446)
>むぎゅー ありがとうです。
274 :
◆tiffinlc2w :2010/07/02(金) 13:46:18 ID:xREWdBSk0
>>271 ありがとうございます。
申し訳ありません><
275 :
root▲▲ ★ :2010/07/02(金) 13:47:15 ID:???0
そんなわけで、焼プリンさんからのメールにも同じことをおへんじしましたが、 再発行については、発行された方にご相談をば。
>>275 了解しました。
ありがとうございました。
発行した人は捕まらないことで定評のあるあの人w
>>270 JSだけにすると問題やら不満やら続出で結局JS無しバージョンも存続させる
必要があると言う事が既にread.jsで判明してるのであんまり。
index.html 書き出しに aio を適用して遅延させるにしても, 書き出すための文字列は前もって生成しておかなければならない, そして index.html 書き出し処理が他と比べて重いのは その文字列処理に起因している部分も多いのではないかとも思います.
>>279 MakeIndex4PCとMakeWorkFile(html/*.htmlを作るところ)は、
なんだか見るからに重そうですね。
手早くダイエットするとしたら、どのへんなんだろうか。
二の腕と腹
顎の下も大事 html/*をオンメモリするとか?
それはジンギスカンな板なら既にやってるような
板トップって上位数スレの最新レスをいくつか表示してるけど、実況板ではあれを無くしてスレ一覧だけを表示する、とか。
複数のdatから何行か抜き出してくる処理が重いのかな。
>283 おぉ、もうやってたのね。 あとできそうなのは毎回open&readしなくていいやつを変数に持たせるとか、 writeをまとめて1回で呼ぶとか、 まとめちゃっていいならTemplate使うとか、 むしろindex.html/subject.txtは定時生成とか。 bbs.cgiにあるあのコメントカッコいいなぁ。 改めて読むとすごい。
IE6見捨てれば完全にAjax化できるんじゃね?
288 :
root▲▲ ★ :2010/07/02(金) 17:09:01 ID:???0
#疲れたのでここまで、 かな
確かに板トップの最新レス表示は蛇足のような気がしますね
291 :
root▲▲ ★ :2010/07/02(金) 17:29:02 ID:???0
>>289 あれですかw
そっすね、、、。
私がbbs.cgiに本気で取り組み始めた2005年ごろ、既にそのコメントはbbs.cgiにありました。
そして、そこよりも前の処理部分には、
きれいに書かれたサブルーチン群が整然と並べられていました。
例えばこんなかんじです。
&foxSetPath($GBX) ;# 各種PATH生成
&foxReadSettings($GBX) ;# 板設定よみこみとためこみ SETTING.TXT
&foxSetDate2($GBX) ;# 日付・時刻を設定($DATEに設定 !!曜日)
&foxBEset($GBX) ;# BE情報問い合わせ
そして、その「疲れたのでここまで」の後には、
bbs_main という、超巨大なメインルーチンが横たわっていました。
その部分は当時既に、数1000行はあったと思います。
そしてそこには、それ以降のbbs.cgiにおけるすべての処理が、
ほぼすべて一つのメインルーチン内に、ノベタンで書かれていました。
「ひろゆき流mainしかないプログラム」というのがどんなものか、
改めて骨身にしみて認識しました。
(続く)
292 :
root▲▲ ★ :2010/07/02(金) 17:47:20 ID:???0
(ちと時間とれそうもなくなったので、続きはまた機会を改めて)
>その部分は当時既に、数1000行はあったと思います。 >そしてそこには、それ以降のbbs.cgiにおけるすべての処理が、 >ほぼすべて一つのメインルーチン内に、ノベタンで書かれていました。 うひゃー これは大変そう。
ひろゆきw きれいにサブルーチンに分けて書くのに疲れたのかww 必要な処理が全て入っていれば分ける必要はない、1行でも少ない方が速いはずだ ってか?
まあ、サブ化するデメリットもあるけどmainのみというのはw
296 :
root▲▲ ★ :2010/07/02(金) 18:07:17 ID:???0
>>293 そこ頃の話(続き)は、
私がここでうだうだ書くより、これ読んでもらったほうがよさげかも。
bbs.cgi再開発プロジェクト7
http://qb5.2ch.net/operate/kako/1130/11309/1130918407.html >>294 もともとのbbs.cgiは、ほぼ一つの大きなメインルーチン「しか」なかったです。
初代管理人が作り始めたプログラムは何であれ、ほとんどすべてがそうです。
彼はそういう頭脳構造であると認識してます。
で、bbs.cgiをSpeedyCGIに対応した時、
かっこいいおにいさんが前処理の部分を、がんがってクリーンアップしました。
が、「#疲れたのでここまで、」のコメントを残し、以下略
↓
上記スレの前スレあたりに続く
といった流れで。
その昔のbbs.cgiを見たことあるけど、 ひとことで言うと「どうしてこうなった」だと思うw ネストが妙に深いし、変数を追いかけるの大変だし、 関数やgotoが少ないからスパゲッティとは違うんだけど、 眺めているだけでお腹いっぱいにさせてくれるプログラムだったw
なんか人事とは思えないので何とも言えないわたす、、、
そいえば、2chから流出したスクリプトを元に書かれた(と言われる)17スクリプトもサブルーチンが少ないな メインルーチンにはexitしかない0chとは大違いだった
サーバーとサーバーをかけたシャレだろ〜 おもしろいかどうかはともかく。
夜間監視用新型社内サーバー「NESCAFE Barista」 なんかカッコいい(´∀`*)ポッ
おいしいアイスカプチーノを入れたいんじゃなかろうかと
7/2(金) 21:00 〜 22:54 金曜ロードショー「紅の豚」 7/2(金) 22:50 〜 23:55 〜 01:00 NHK教育→NHK総合 2010FIFAワールドカップ・準々決勝 「オランダ×ブラジル」
当社のコーヒーメーカーを買えば 継続的な豆の購入の特典として 書き込み権限が付いて来ます。
>>303 そのうち ビア・サーバー入れそうな希ガス
当社のビアサーバーを買えば 継続的な生ビールの購入の特典として 2ちゃんねるの過去ログが読み放題です。
>>310 あとは綺麗なおねーちゃんも入れれば完璧ですね、わかります
またワクワクする週末がやってきた 頑張ってねん
紅の豚が来るぞー! @日テレ 21:00〜
2ちゃん名物の鯖落ちがなくなるってなると寂しいな
今じゃ鯖落ちを名物と思ってない人も増えてるからなあ
名言来ましたがぜんぜん大丈夫そうですね
>>316 鯖落ちを楽しめない人が増えているんですよ。
世の中ピリピリしすぎなんだよなあ バルスなんか鯖落ちするのが名物なのに
落ちない実況なんて… バルス!の時は手動で落とせよ 約束だからな
>>314 11時に向けてのウォーミングアップにもなってない(´・ω・`)
豚好きは大人が多いからだろw
豚はそこまで破壊力ないからなぁ 興味ないって人も少なからず居るかと
日本戦に比べたらジブリなんて微々たるもの
326 :
動け動けウゴウゴ2ちゃんねる :2010/07/02(金) 22:43:16 ID:q7jZPBuS0
盛り上がらないねえ
328 :
動け動けウゴウゴ2ちゃんねる :2010/07/02(金) 23:07:51 ID:duSO8qlz0
2010/07/02(金) 23:07:06 NHK総合の勢い: 67res/分 22:55〜23:50 参議院比例代表選挙政見放送 NHK教育の勢い: 165res/分 22:50〜23:55 2010FIFAワールドカップ・準々決勝 日本テレビの勢い: 70res/分 23:00〜23:30 アナザースカイ TBSテレビの勢い: 18res/分 23:00〜23:30 A−Studio フジテレビの勢い: 8res/分 23:00〜23:30 恋するTVすごキュン テレビ朝日の勢い: 58res/分 23:10〜23:15 世界の車窓から テレビ東京の勢い: 19res/分 22:54〜23:58 ワールドビジネスサテライト やっぱETVじゃダメか
ブラジル先制
もうサッカーも盛り上がらないんかね
331 :
動け動けウゴウゴ2ちゃんねる :2010/07/02(金) 23:17:41 ID:q7jZPBuS0
サッカーファン以外のニッポン応援ファンが離れちゃったからね
332 :
動け動けウゴウゴ2ちゃんねる :2010/07/02(金) 23:22:52 ID:ApcPXGw70
日本審判団の晴れの舞台なのにね(´・ω・`)
ニッポンのレフェリーは世界レベルなのに先週は…
334 :
動け動けウゴウゴ2ちゃんねる :2010/07/02(金) 23:37:35 ID:xfypZDES0
アタック? やたら受信が増えてるけど
たまに、アタックらしき痕跡が報告されるよね 密かに対処されてるのか、放置されてるのか分からないけど
336 :
動け動けウゴウゴ2ちゃんねる :2010/07/03(土) 00:02:29 ID:6mjOnkpU0
ティウンティウン ティウンティウン ◎ ◎ ◎ ◎ ◎ ◎ Γ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧∧◎ ∧∧∧∧∧∧∧∧◎∧∧∧│ 三三三三三三三三三三三三三三三 │ ◎ ◎ ◎ ◎
>>266 Apache httpd+CGI だと、ログ出力=レスポンス完了時=CGIプログラム終了時となるのがふつう。
つまり、ログに書けないことが原因でdatに書けないということはない。
もちろん、あくまでもふつうのケースなので、意識して先にログ出力することは出来ると思うが、
ログ出力されたことを確認してからdat書き込みなんてコストのかかることはやってないと推測。
338 :
root▲▲ ★ :2010/07/03(土) 00:26:13 ID:???0
きたく。 それなりに盛り上がってはいるのか。 2xx 3xx 4xx 5xx URL 2843 55 0 0*/livenhk/dat/1278083982.dat 1143 30 0 0 /livefoot/dat/1278083598.dat 443 0 0 0 /livenhk/subject.txt 373 0 0 0 /test/bbs.cgi 372 15 0 0 /livefoot/dat/1278084267.dat 330 34 0 0 /liveanb/dat/1278078434.dat 289 23 0 0 /livenhk/dat/1278084004.dat 262 0 0 0 /test/read.cgi/livenhk/1278083982/l50 220 9 0 0 /livejupiter/dat/1278084109.dat 195 44 0 0 /livevenus/dat/1278078310.dat 193 32 0 0 /livewowow/dat/1278081145.dat 186 7 0 0 /livefoot/dat/1278083007.dat
339 :
root▲▲ ★ :2010/07/03(土) 00:31:16 ID:???0
2xx 3xx 4xx 5xx URL 2647 118 0 0*/livenhk/dat/1278084347.dat 1096 2 0 0 /livenhk/subject.txt 852 11 0 0 /livefoot/dat/1278084374.dat 594 0 0 0 /livefoot/subject.txt 510 3 0 0 /livenhk/dat/1278076963.dat 498 0 0 0 /test/bbs.cgi 462 11 0 0 /livefoot/dat/1278084267.dat 439 4 0 0 /livefoot/dat/1278083007.dat 325 7 0 0 /livenhk/dat/1278084004.dat 270 21 0 0 /livejupiter/dat/1278084109.dat 248 0 0 0 /test/read.cgi/livenhk/1278084347/l50 220 1 0 0 /livenhk/
340 :
root▲▲ ★ :2010/07/03(土) 00:32:58 ID:???0
2xx 3xx 4xx 5xx URL 2538 36 0 0*/livenhk/dat/1278084356.dat 1129 17 0 0 /livefoot/dat/1278084374.dat 619 1 0 0 /livenhk/subject.txt 596 23 0 0 /livenhk/dat/1278083641.dat 485 12 0 0 /livefoot/dat/1278084267.dat 427 3 0 0 /livefoot/dat/1278083007.dat 419 2 0 0 /liveanb/dat/1278078434.dat 393 12 0 0 /livenhk/dat/1278084004.dat 340 0 0 0 /test/read.cgi/livenhk/1278084356/l50 337 0 0 0 /test/bbs.cgi 303 4 0 0 /livenhk/
ブラジル先制→オランダ逆転でちょっと盛り上がっているようです
342 :
root▲▲ ★ :2010/07/03(土) 00:33:23 ID:???0
logbuffer の刷毛がすごくよくなった。 httpdが詰まらなくなった。
343 :
root▲▲ ★ :2010/07/03(土) 00:33:46 ID:???0
2xx 3xx 4xx 5xx URL 3627 31 2 0*/livenhk/dat/1278084356.dat 1511 13 0 0 /livefoot/dat/1278084374.dat 749 15 0 0 /livenhk/dat/1278083641.dat 716 7 0 0 /livefoot/dat/1278083007.dat 702 0 0 0 /livenhk/subject.txt 670 6 0 0 /livefoot/dat/1278084267.dat 559 3 0 0 /liveanb/dat/1278078434.dat 543 0 0 0 /test/bbs.cgi 498 14 0 0 /livenhk/dat/1278084004.dat 486 7 0 0 /livenhk/dat/1278084666.dat 333 7 0 0 /livejupiter/dat/1278084109.dat 309 1 0 0 /livenhk/
してで73M
345 :
root▲▲ ★ :2010/07/03(土) 00:40:49 ID:???0
今どうでした? 私のPCがおかしくなってここに書けなかった。 (2chとは別の理由) logbufferの挙動が一瞬おかしくなって、 LAがすごくあがった。LA=1000近くいったかも。
30分あたり軽くドーンでしたね
347 :
root▲▲ ★ :2010/07/03(土) 00:42:10 ID:???0
ちょうどhayabusaの様子がおかしかった時、 自分のPCで別ソフトの更新プログラムが動いていて、 何もできなかった。ちと悲しい。
348 :
root▲▲ ★ :2010/07/03(土) 00:42:46 ID:???0
logbuffer が突然、いなくなった。 で、どばどばどばっとプロセスが詰まって、LAが急上昇した。
349 :
root▲▲ ★ :2010/07/03(土) 00:44:46 ID:???0
350 :
root▲▲ ★ :2010/07/03(土) 00:45:38 ID:???0
>>348 の瞬間の様子が見たかったな、、、。
今はもう正常なので、様子がわからない。
logbufferの消失 LAえらいことになってますね
352 :
root▲▲ ★ :2010/07/03(土) 00:51:04 ID:???0
top で一番上にlogbufferがはりついて、 きちんと今までよりも多く、CPUを使ってくれてたんですよね。 で、いいかんじじゃん、って思ってたら、 突然 top から logbuffer が消えてなくなって、 LA がみるみる急上昇していき、speedy_backend がどばどばと詰まり始めた。 この間、画面を見るだけで、キーボードでの操作ができなかった。 みるみるうちにLA=1000近くにまでなった。 で、ようやく触れるようになってすかさず ps で探すと、 R 状態になった logbuffer がいた。 (このときtopのWindowでやったので、topは見れず) しかし、logbufferの通産CPU処理時間が異常に少なくなっていたので、 logbuffer 自体が終了してしまっていたんだと思う。 で、次にtopを動かすと、logbufferが一番上に復活してて、 既に正常に戻りはじめていた。
353 :
root▲▲ ★ :2010/07/03(土) 00:51:59 ID:???0
%ls -l /logbuffer.core -rw------- 1 root wheel 3813376 Jun 29 09:51 /logbuffer.core これ保管しておこう。
そしてオランダは逆転勝ちです
>>349 してがカレーとキムチ間違えて出しそうになったとき・・・かな?
356 :
root▲▲ ★ :2010/07/03(土) 00:53:33 ID:???0
というか、mode 600 か。自分ではとれないな。 中の人にこの core ファイルを私あてに送ってもらうように、 お願いしておこう。 と言っても、明日と明後日は会社の行事で私はおでかけ&オフラインの予定。
357 :
root▲▲ ★ :2010/07/03(土) 00:54:35 ID:???0
でも、core ができるような落ち方したので、 デバッグは可能な予感がするです。
タイミング的にブラジル選手に一発レッドカードのときでしょうか。
361 :
root▲▲ ★ :2010/07/03(土) 00:58:24 ID:???0
0時37分〜0時38分JSTあたりの挙動が、 変だったようです。 あ、、、でも今見たら、このlogbufferのcoreは、 今回のやつじゃないな。 だから意味なさげ。 %env TZ=JST-9 ls -l /logbuffer.core -rw------- 1 root wheel 3813376 Jun 30 01:51 /logbuffer.core
362 :
root▲▲ ★ :2010/07/03(土) 01:03:27 ID:???0
>>352 > で、ようやく触れるようになってすかさず ps で探すと、
> R 状態になった logbuffer がいた。
ターミナルのスクロールバッファに残ってた。
今見ると D (ディスクI/O待ち)もあるな。
%ps axww | grep logbuffer
32562 ?? D 0:00.06 /usr/local/sbin/logbuffer
%ps axww | grep logbuffer
32562 ?? R 0:00.06 /usr/local/sbin/logbuffer
32577 p1 R+ 0:00.02 grep logbuffer
%ps axww | grep logbuffer
32562 ?? D 0:00.07 /usr/local/sbin/logbuffer
32580 p1 R+ 0:00.00 grep logbuffer
%ps axww | grep logbuffer
32562 ?? R 0:00.07 /usr/local/sbin/logbuffer
32582 p1 R+ 0:00.00 grep logbuffer
%ps axww | grep logbuffer
32562 ?? R 0:00.07 /usr/local/sbin/logbuffer
32584 p1 R+ 0:00.00 grep logbuffer
%ps axww | grep logbuffer
32562 ?? D 0:00.07 /usr/local/sbin/logbuffer
32586 p1 R+ 0:00.01 grep logbuffer
%ps axww | grep logbuffer
32562 ?? R 0:00.07 /usr/local/sbin/logbuffer
32588 p1 R+ 0:00.00 grep logbuffer
%!ps
ps axww | grep logbuffer
32562 ?? R 0:00.13 /usr/local/sbin/logbuffer
32615 p1 R+ 0:00.00 grep logbuffer
%!ps
ps axww | grep logbuffer
32562 ?? R 0:00.24 /usr/local/sbin/logbuffer
32619 p1 L+ 0:00.01 grep logbuffer
363 :
root▲▲ ★ :2010/07/03(土) 01:04:44 ID:???0
top の出力ではそのおかしくなっていた間、 "Lock" なプロセスがたくさんいたようだ。
364 :
root▲▲ ★ :2010/07/03(土) 01:07:04 ID:???0
さて、どうするのがいいのか。しかし情報量不足は否めないな。 ちなみにlogbufferが該当時間 core 吐いた、というsyslogはなかった。
実況鯖、そのぐらいの時間帯に繋がりにくくなったけど、ログを見る限り 連続して流れてる。不思議。
一瞬重くなったけど落ちなかったな
root さんの監視信号が狂わせた。と思う。
そういやうちの会社、リバースプロキシの処理速度あげたら何故か詰まるようになって、 何事かと思ったら裏側が早くなりすぎてhttpdのバッファがあふれるようになったというオチだった。 という日記。
369 :
root▲▲ ★ :2010/07/03(土) 01:25:35 ID:???0
状況証拠的には、 ・高負荷時にlogbufferが突然、いなくなり、 ・ログを渡す先がいなくなったhttpdがばたばたと詰まり始め、LAが急上昇し、 ・それからしばらく後に、logbufferが復活し、 ・httpdが元に戻った ように見えますた。
370 :
root▲▲ ★ :2010/07/03(土) 01:31:42 ID:???0
で、今日はもうここまで負荷がかかるのはなさげ?
>>370 次の試合は午前3時半からウルグアイ×ガーナなのでそれほど観客いないかと
372 :
root▲▲ ★ :2010/07/03(土) 01:35:07 ID:???0
>>371 どもです。
それだと、状況再現は難しそうすね。
ウルグアイ×ガーナかわいそう
7/3(土) 22:00 〜 01:10 TBS 2010FIFAワールドカップ・準々決勝「アルゼンチン×ドイツ」 7/3(土) 22:05 〜 00:00 NHK総合 ウィンブルドンテニス2010 「女子シングルス・決勝」 7/4(日) 03:00 〜 05:40 日本テレビ 2010FIFAワールドカップ・準々決勝「パラグアイ×スペイン」
375 :
root▲▲ ★ :2010/07/03(土) 01:44:24 ID:???0
その時間帯(0:00JST台)のhttpdアクセスログを消えないところに保管しておこう。 (ログは古くなると消えてしまう) 後で何かわかるかもしれない。
376 :
root▲▲ ★ :2010/07/03(土) 01:46:11 ID:???0
とりあえず hayabusa のホームにコピーしておいた。
>>375
でもまあ自然復活するのであれば、運用上それほどの痛手でもないような。とりあえずは
378 :
root▲▲ ★ :2010/07/03(土) 01:50:04 ID:???0
ということで、logbufferの挙動不審の原因が知りたいところ。 1) logbufferプログラムの問題 2) FreeBSDのaio(4)のチューニングが不十分 3) FreeBSDのaio(4)に虫がいる 4) 他の何か
379 :
root▲▲ ★ :2010/07/03(土) 01:57:05 ID:???0
380 :
root▲▲ ★ :2010/07/03(土) 01:59:41 ID:???0
で、こいつらをチューニングしれ、ということの模様。
vfs.aio.max_aio_queue (default) 1024
vfs.aio.max_aio_queue_per_proc 256
vfs.aio.max_aio_per_proc 32
vfs.aio.max_aio_procs 32
今の hayabusa では、
vfs.aio.max_aio_queue_per_proc を 256 から 1024 にしてある
(SunOSさんのプログラムでは実際には512らしいですが
>>140 )
以外は、すべてデフォルトのまま。
381 :
root▲▲ ★ :2010/07/03(土) 02:01:09 ID:???0
直感では、 > vfs.aio.max_aio_queue (default) 1024 これっぽいかな。 per_proc の増やしぶりに合わせるとしたら、 1024 → 4096 かな。 でもソースさらっと当たらないと、ちょっと不安だな。
382 :
root▲▲ ★ :2010/07/03(土) 02:06:12 ID:???0
まずは基本のこれやって、と。 %sysctl -d vfs.aio vfs.aio: Async IO management vfs.aio.max_buf_aio: Maximum buf aio requests per process (stored in the process) vfs.aio.max_aio_queue_per_proc: Maximum queued aio requests per process (stored in the process) vfs.aio.max_aio_per_proc: Maximum active aio requests per process (stored in the process) vfs.aio.unloadable: Allow unload of aio (not recommended) vfs.aio.aiod_lifetime: Maximum lifetime for idle aiod vfs.aio.aiod_timeout: Timeout value for synchronous aio operations vfs.aio.num_buf_aio: Number of aio requests presently handled by the buf subsystem vfs.aio.num_queue_count: Number of queued aio requests vfs.aio.max_aio_queue: Maximum number of aio requests to queue, globally vfs.aio.target_aio_procs: Preferred number of ready kernel threads for async IO vfs.aio.num_aio_procs: Number of presently active kernel threads for async IO vfs.aio.max_aio_procs: Maximum number of kernel threads to use for handling async IO
383 :
root▲▲ ★ :2010/07/03(土) 02:07:34 ID:???0
で、これか。 %sysctl vfs.aio vfs.aio.max_buf_aio: 16 vfs.aio.max_aio_queue_per_proc: 1024 # 256から増やし済 vfs.aio.max_aio_per_proc: 32 vfs.aio.unloadable: 0 vfs.aio.aiod_lifetime: 30000 vfs.aio.aiod_timeout: 10000 vfs.aio.num_buf_aio: 0 vfs.aio.num_queue_count: 513 vfs.aio.max_aio_queue: 1024 vfs.aio.target_aio_procs: 4 vfs.aio.num_aio_procs: 4 vfs.aio.max_aio_procs: 32
384 :
root▲▲ ★ :2010/07/03(土) 02:21:58 ID:???0
あとはとりあえず、明日以降かな。
>>381 の、
vfs.aio.max_aio_queue=4096
を www2.2ch.net でやってみて、まずは問題なさげなのを確認。
/etc/sysctl.conf @ www2 にも追加してみた。
# tuning for aio(4)
vfs.aio.max_aio_queue_per_proc=1024
vfs.aio.max_aio_queue=4096
今日のところは、こんなかんじで。
日曜夕方までは、あまりアクセスできない見込み。
>>384 ワールドカップについては23時開始は明日が最後なので、
これ以降は日本戦のような高負荷は望めないかな。
決勝も月曜の明け方だしねぇ。
vfs.aio.num_queue_count: 513 って現在値なのかな すでに513も居る?
387 :
root▲▲ ★ :2010/07/03(土) 03:38:52 ID:???0
>>386 httpd を一時的に止めると、その値は 0 になりました。@ www2
他の値は変わりませんでした。
で、SunOSさん版logbufferを動かすと、この値は513にはりつくみたい。
>>337 ここでいうログって芋ログのことだと思ってたんだけど違うのかな?
レスはあるけどその芋ログがないとかが起きないように、芋ログ出力の成功を経てdatへの書き出しを行っているのかなと。
まぁそんな面倒な処理にはなってない感じだけどね。
面白かった、今の試合。 今日の試合で負荷実験は終わりでしょうな。
う〜む,何が起きてたんでしょうねぇ......<logbuffer
core は aio_write() 入れる前のやつのようですが,
いずれにせよ何かが起きてたらしいと.
>>386-387 とにかく logbuffer を詰まらせないのを目標に,
aio の並列実行数を思い切った数値にしてる感じです.
393 :
外出先 ◆MUMUMUhnYI :2010/07/03(土) 11:38:25 ID:RBXpFVLG0
>>391 それだとやっぱり、システム全体のキャパを大きくしておくために、
>>384 をhayabusaとkamomeに投入してもらうのがよさそうですね。
/etc/sysctl.confに追加してもらって
/etc/rc.d/sysctl restartするだけなので、動かしながら投入できます。
ぼちぼちというかんじで。
394 :
外出先 ◆MUMUMUhnYI :2010/07/03(土) 11:54:35 ID:rpUqgRi30
>>393 をkamomeとhayabusaに設定するのをお願いした。
挙動は変わると思うけど、プログラムで個別にaioに対応するより、 asyncでディスクをマウントして、sysctlのvfs.*dirty*あたりをいじるっていうのも手じゃないのかなと。 SSDとの相性は知らないけど…
396 :
外出先 ◆MUMUMUhnYI :2010/07/03(土) 11:59:15 ID:1XjTD4BD0
>>395 /home を async + gjournal とかにして、
そのへんを別途試してみる、というのはありかもですね。
>>396 聞きかじりですが、gjournaは2chのような重いサーバーには不向きかもしれません…
398 :
外出先 ◆MUMUMUhnYI :2010/07/03(土) 12:14:20 ID:DB47VKZ/0
rootさんの移動っぷりは異常 まさか外国行ってるとはw
>>398 実際に試してみた人から聞いたのですが、「負荷がかかると応答しなくなる」とのことでした。
1年ぐらい前の話なので、それ以来改良されているかどうかわかりませんが…
個人的にはSoftupdate Journalingでしたっけ、あれに期待してます。
さすがに何TBでfsckはもうごめんなので…
>>402 iPhone4らしいからそのせいかも
4はMicroSIMとかで帯域が多少違うかも試練
405 :
動く動くウゴウゴ2ちゃんねる :2010/07/03(土) 13:45:10 ID:usxQJqHp0 BE:2023194299-PLT(34145) 株主優待
今夜は落ちるでしょ(笑)
aioの読み書きはカーネルスレッドが行う。例えばLinuxでは[aio/0]などがそのカーネルスレッドに当たる。 そのカーネルスレッドが非preemptableなのにaioを使いまくるとLAがうなぎ登る原因になり得る。 が、Linuxの場合はカーネルのコンパイルオプションでCONFIG_PREEMPT_VOLUNTARYが有効ならば(大抵は有効になっている)、カーネル内の任意の位置をpreemptableにできる。 そのため、そのカーネルスレッド内にpreemptableな場所があれば問題はかなり軽減されるはず (が、実際preemptableな場所があるかは知らない)。 しかし、そうすると読み書き処理が遅れたままとなってしまう…。うーん、微妙? 何か勘違いしているかも。 ちなみにLinuxだとカーネルスレッドの優先具合は確かnice値の初期値が過去に-5だったぐらい(今は0だったはず)。 FreeBSDでどうかは詳しい人に任せた。
407 :
宿泊先 ◆MUMUMUhnYI :2010/07/03(土) 14:35:27 ID:qWdwGHzN0
>なかのひと 今日記読みました。取り急ぎ。 いろんな意味で、8.0Rはおすすめできません。 ほんの少し待つと出る8.1Rでいきたいです。 (今回は比較的安産のようです)
408 :
宿泊先 ◆MUMUMUhnYI :2010/07/03(土) 14:38:03 ID:qWdwGHzN0
で、既に8.1-RC2が出ている状態なので、 8.1前提でのサーバのパッケージング作業などは、 既に進められる状態になっているはず。
409 :
238 :2010/07/03(土) 15:03:10 ID:BgeAVju+0
>>255 bbsdにaioを適用したほうよいかなと思ったのは、
datなどに書き込み後、bbsdからhttpd側に応答を
返しているので、それを非同期化することで、
書き込み完了前にhttpdに戻るので、はけがよくなるかと。
ただ、今今はbbs.cgiはそんなにボトルネックに
なっていないのでは?
speedy_backendが50ぐらいしかあがっていないということは、
httpdも50ぐらいしかつかんでないと思うので、datの
読み出しだけなら、残りの約4900のhttpdで応答を返せるはずなので、
詰まらないと。
それよりかは、
・aioのパラメータチューニング
・
>>148 のチューニング
・FreeBSDの8.1への入れ替え(NCQの有効化)
が効果的かなと。
>>409 >bbsdにaioを適用したほうよいかなと思ったのは、
>(ry
>それを非同期化することで、書き込み完了前にhttpdに戻る
そういう意図なら,単に bbs.cgi 側で bbsd からの応答を待たずに
戻ればいいような気はします.そうすると書き込み時のエラーが
利用者に報告されなくなりますが,aio で書き込み完了を待たず
戻るなら結局同じようなことでしょうし.
書き込みエラーって規制でのエラーも含まれますか? それなら止めるのは無理なんじゃないかと…
>>412 そう言う観点の話が今まで無かった様な気がしましたので聞いてみた次第です。
bbs.cgiにしろbbsdにしろaio化によって書き込み後の各種メッセージを出す事が
出来なくなると言う話であれば、色々考え直さないと駄目なんじゃ無いかと。
潔くエラー通知無し仕様で突き進むってのでも良いんですけど、特に規制されてるのが
表示されないのはこの板が千客万来で大混乱する様な気がしますw
414 :
238 :2010/07/03(土) 17:25:28 ID:BgeAVju+0
>>410 aio_writeでOS側のキューに入った後のNGは
しょうがないかなと思っていました。
あと、1000overやdatサイズoverは、bbsdでチェックしているのと、
aio_writeでキューに入らなかった場合ぐらいは、書き込み
エラーを返すのがよいのかな、ぐらいの気持ちです。
415 :
238 :2010/07/03(土) 17:36:02 ID:BgeAVju+0
>>414 ただ、今度はdat読み出しでブロックしそうなので、
SunOSさんの言うとおり、あえてaioを使う効果は
ないのかなとも、思います。
結局ディスクI/O以上のリクエストが来た際、どこで
待ち合わせさせるか、その際レスポンスを遅くさせないようには
どうするのかの話かなとも思います。
>>413 早い話,少なくとも「規制されてるのが表示されない」
ということはない,というのが
>>412 の趣旨です.
>>414 1000 超えとかは確かにそうですが,その場合
read.cgi などで書き込みフォームが表示されなくなりますし,
まぁエラーが表示された方が親切ではありますが,
どこまで手間をかけるかということとのかねあいですね.
>>415 そうですね.
>>413 フローとしてはフツーに考えれば、
1. 規制等の各種チェック(はじかれれば2にはいかない)
2. 外部記憶への書き込み
でしょう。
で、今話している aio_write() の件は 2 の話です。
そこに 1 の話を混ぜても仕方ないと思いますよ。
# bbsd で1のようなことをやっているのかは知りません。
で、
>>410 の「書き込み時のエラー」は 2 で発生したエラーのこと。
かぶったorz
419 :
◆MUMUMUhnYI :2010/07/03(土) 17:54:24 ID:Iulc5ZHU0
>なかのひと とりいそぎ。乱筆すまぬ。 dmesgを見るかぎりだと、 BIOS的にahciモードに設定変更せずに、 たぶんataモードのままで、最初の8.0Rを入れてしまった気がします。 これだと折角load ahciしても、何の効力も発揮しないです。 デバイス名が、 ataとadで認識されちゃまずいです。 変わるはず。 あと、dmesgしてahciの文字が一つも出てない時点で、 おかしいと気づかないといけない。 ざんねんですがこれだと前に進んではだめで、 PIEでの最初のOS入れの作業からやりなおしです。
420 :
◆MUMUMUhnYI :2010/07/03(土) 18:00:03 ID:Iulc5ZHU0
で、今単にahciにかえると、 途中でかえたときとおなじになり、 例の/etc/fstabを変えないといけないのと同じパターンになりますから、 立ち上がりません。 というか今回は標準手法の確立も たぶん目的でしょうから、 そういう意味でも、OSの入れ込み直しから やってもらうのがよいと思います。 いずれにせよ今のままで先に進まないで!!
ふと思ったけど、 > ad4: 476940MB <Seagate ST3500418AS CC38> at ata2-master SATA300 これ500GBのHDDだよね まあこのHDDは500GBプラッタものらしいから250GBプラッタもの(hayabusaに搭載されてるST3250410ASとか)より早くていいけど
422 :
◆MUMUMUhnYI :2010/07/03(土) 18:07:40 ID:Iulc5ZHU0
何という名前で認識するかは、 8.0なり8.1が入ったサーバで、 man ahciして確認してくださいです。 くれぐれもですが、 一番だいじなのは手順自体を守ることではなく、 その手順というか行為が、 ちゃんと本来の目的を達成しているかどうかを きちんと確認することです。 つまりこの場合だと「dmesgがこうなったらおk」とか、 「このコマンドでこういう出力が得られればおk」 のように、 やったことがちゃんとうまくいったのかのレビューの方法をきちと確立し、 それをもって確認してから前に進む、 というのが大事ということで。
>>419 PIEが間違えちゃったのか
rootさんがインストール時にahciモードにする手順を作って連絡してたよね?
まあ1度間違えれば2度目は無いだろうし、良い経験になるかw
おいおい、rootさんがここまで語気を荒らげる事なんて、滅多にないぞ。 なかの人は、きちんと学べよ。
425 :
◆MUMUMUhnYI :2010/07/03(土) 18:17:59 ID:Iulc5ZHU0
そんなわけで、ataとadじゃなくてahciとada にならないと変です。 man ada してくださいです。 で、なんでかというと、今回のそもそもの目的は、 例のNCQを有効にすることで、 NCQはahciで認識させたうえでディスクをadではなくadaで認識させるのに成功しないと、 現時点では有効にならないからです。
427 :
◆MUMUMUhnYI :2010/07/03(土) 18:24:54 ID:Iulc5ZHU0
そんなこんなで、 これから夕食と宴会らしいので、 少なくとも数時間程度はオフラインでふ。 語気を荒げるというか、 このままの基礎で大きなマンションを建てちゃうと、 後でマンション自体を取り壊さないといけなくなってしまい、 結局大きな手戻りが以下略。
>>427 姉歯建築みたいな状態になってるってことですね。わかりますw
しかしNCQやるなら量産型に入る前のどこかの実験鯖でやっておくべきだっただろうJKとしか言いようがない
430 :
◆MUMUMUhnYI :2010/07/03(土) 18:33:33 ID:Iulc5ZHU0
>>426 それですね。
でもカーネルをつくりなおさなくてももっと簡単にいける、
というのが、れいのload ahciのきもだったはず。
で、atadiskをnodeviceにするのとおなじことを、
6を押したあとでやらないといけないかも、
ということになるのかな。
どなたかかその方法をここに以下略。
詳しくはPart49の
>>290 さんを参照ということで
ミソは、CAMを有効にする前にデバイスが認識されているとマズいということなので
BIOSで最初からAHCIモードにしておけばそもそも認識されず問題無いと
明確にnodeviceとかやるのは、ATA on CAMとかもやりたい時などで良いのでしょう
もちろんカーネルをいじって盲腸になりかねないこいつらを消すべきではありますが
メモリだけ増やしてもすぐに使い切りそうな勢いだねbooは
手順が確立したら、hayabusaも移転になるのかな 実験鯖とはいえ、OSだけ入れ替えるのは難しそう
今swapって何か仕事してんの? なくてもよくね?
smapに見えた
南西アフリカ人民機構がどうかしましたか?
>>427 ここで気をつけておかないとバッドフラグたっちゃうのか
dat 側は MAP_SHARED な mmap() を使うというのも面白いんじゃなかろうか。
ウランをバケツで混ぜるような現場に説教しても… 手順書作って「この通りやれ」ってするしか
今日は監視しないのか
>>422 中段が自分に向けて言われているような気がする今日この頃。
>>442 手順を作る側ならそうかもしれんな。
手順を渡される側なら余計なことは考えんな。
>>443 作る側なら目標確認は必須だが、作られた手順を使うなら
むしろ余計なことをするのは事故の元だしね
現在は手順構築時点だから無論効果を確認しながらやらないとダメな訳だけど
>>445 俺はアナログとデジタル二画面で見るw
んでアナログの音はNHKのTVのラジオの方で聞くと
実況は多分少し盛り上がるだろうけどここに出るような影響はないと思う
まぁ民放とNHKで同時に同じ画面ってめったに無いからねぇ
ただ一分しかないから多分「どーん」がきて終わるだけだろうねえ ちょっと探したら20年前の携帯TVが出てきたのでこれとワンセグで比べてみようw
450 :
動け動けウゴウゴ2ちゃんねる :2010/07/04(日) 17:13:43 ID:hjUnKJYg0
さてさてもうすぐですね、今は鋼最終回で盛り上がってるみたいですが。
見たいんだけどこれから出かけるんだよねぇ、まあしゃーない。
実況もそうだけどニュー速とかVIPとかでも盛り上がりそうな幹事だよねぇー
>>449 たった1分をw
つべに比較動画とかあげられて 後世まで残るんだろうなー
何を期待してるの? 砂嵐でるだけじゃないの?
砂嵐とかピロロロロとか(名前忘れた) 生半可な番組よりは人多いよw
よし漏れも見るぞw わざとアナログでww
俺も密かに楽しみにしてる
終わりましたねえ
458 :
♪ ◆/y.Ychk2JQ :2010/07/04(日) 18:01:30 ID:duivQ3fIP BE:1331436858-PLT(40446)
アナログは全局同じ内容だったね(放送大学を除く)@東京
なんなくこなしたって感じですか hayabusa鯖の地デジ化テストは問題なしと
あーおもしろかった 別にぼろぼろの雪だるまでもあれくらい耐えられるだろ
こんなんで問題で他方がアレだがな
17:59の勢いコピペしそびれた(´・ω・`)
>>464 アニメ見る層はみんな地デジ移行終わってるって
テレ東も同じ画面だったのか……
>>464 つうか視聴者が見たいと思って見る「作品」の反応と
「御知らせ」を比べても意味の無いように思えるのですが・・・
>>465 逆に実況的にはアナログのほうがいいから濃いアニメ実況民は逆にアナログを選びたがるものだぞ
470 :
root▲▲ ★ :2010/07/04(日) 21:54:11 ID:???0
>>401 > 、「負荷がかかると応答しなくなる」とのことでした。
昔試した時は確かにそうなりました。7.xの頃かな。
こないだ入れた新しい p2 のサーバとか、www2 サーバとかは、
8.0R/8.1-RC1 + async + gjournal で作っていたり。
>>402 帯域増えたのかな。
のちほどしらべてみるです。
>>404 softupdate + journal ですか。
その様子だと、8.1R には入りそうもないですね。
8.2R あたりに(デフォルトoffで)入るかんじなのかも。
>>406 とりあえず、
options PREEMPTION # Enable kernel thread preemption
が、FreeBSD だとデフォルト有効になってたりします。
471 :
root▲▲ ★ :2010/07/04(日) 21:59:28 ID:???0
>なかのひと > パッチあてを行うと8.0-RELEASE-p*となる筈ですが、 > なぜか「-p*」が付いていません。 が、気になるです。 ちなみに、私が先日入れた w2.p2.2ch.net では通常どおり、 > FreeBSD 8.0-RELEASE-p2 (GENERIC) #0: Sun May 16 14:31:06 JST 2010 のようになったです。 /usr/src/sys/conf/newvers.sh の中身を調べて、下記のようにちゃんと更新されているか確認する必要があるかと。 <例> TYPE="FreeBSD" REVISION="8.0" BRANCH="RELEASE-p2" で、これが更新されていなかったら、他も更新されていない可能性があるです。 また、更新されているのに出来たカーネルが -p* になってなかったら、 それはそれで、どこかおかしいです。
>>470 FreeBSDのPREEMPTIONは一部の高優先カーネルスレッドだけのようですね。
LinuxのCONFIG_PREEMPT_VOLUNTARYに相当するものは無さげに見えますが、標準で有効だったりするのでしょうか?
ちなみにFreeBSDのFULL_PREEMPTIONがLinuxで言うところのCONFIG_PREEMPTに当たるはず。
473 :
root▲▲ ★ :2010/07/04(日) 22:56:48 ID:???0
>>472 これはどうでしたっけか。
# IPI_PREEMPTION instructs the kernel to preempt threads running on other
# CPUS if needed. Relies on the PREEMPTION option
# Optional:
options IPI_PREEMPTION
474 :
root▲▲ ★ :2010/07/04(日) 22:58:19 ID:???0
# SMP Debugging Options: # # PREEMPTION allows the threads that are in the kernel to be preempted by # higher priority [interrupt] threads. It helps with interactivity # and allows interrupt threads to run sooner rather than waiting. # WARNING! Only tested on amd64 and i386. # FULL_PREEMPTION instructs the kernel to preempt non-realtime kernel # threads. Its sole use is to expose race conditions and other # bugs during development. Enabling this option will reduce # performance and increase the frequency of kernel panics by # design. If you aren't sure that you need it then you don't. # Relies on the PREEMPTION option. DON'T TURN THIS ON.
475 :
動け動けウゴウゴ2ちゃんねる :2010/07/04(日) 23:01:04 ID:oKRqweDu0
>>463 2010年07月04日 18時00分01秒 総レス数:929res/分
#│ 局 │ レス数. │ 率 │ 番組
. ━┿━━━━━┿━━━━━┿━━┿━━━━━━━━━━━━━━━━
1│ NHK総合 . │. 480res/分.│. 52%│[N]
2│.日本テレビ.│. 177res/分.│. 19%│全国一斉地デジ化テスト
3│.フジテレビ. │. 126res/分.│. 14%│全国一斉地デジ化テスト
4│.TBSテレビ..│ 60res/分.│ 6%│全国一斉地デジ化テスト
5│.テレビ東京.│ 30res/分.│ 3%│全国一斉地デジ化テスト
6│ NHK教育 . │ 28res/分.│ 3%│全国一斉地デジ化テスト
6│.テレビ朝日.│ 28res/分.│ 3%│全国一斉地デジ化テスト
476 :
root▲▲ ★ :2010/07/04(日) 23:01:54 ID:???0
いまざっと見てみたんですが、 options IPI_PREEMPTION は、 SCHED_4BSD の時だけしか見ていないっぽいですね。 SCHED_ULE の時はそのオプションがなくても、 IPI_PREEMPT とかは見ているみたい。
>>473 VOLUNTARYとは違うと思いますが、その説明文だと良く分からないですね。
>>474 なにこれこわい
>>472 http://www.mail-archive.com/[email protected] /msg09592.html FreeBSD 8では標準でadaptive lockが有効になっているようだ。
カーネルスレッドがロックしようとした時に他のカーネルスレッドが既にロックしていて長く離さない場合、preemptされることになるはず。
LA問題に対してはPREEMPT_VOLUNTARYよりも微妙だが、まだマシ。
FreeBSD 7でもADAPTIVE_SX付きでビルドすることでマシになる予感。
FULL_PREEMPTIONはincrease the frequency of kernel panics by designとか酷いのでやめといた方が良さげ。
479 :
root▲▲ ★ :2010/07/05(月) 00:15:32 ID:???0
>>478 確かに 7.x の config file にはそんなオプション、ありましたね。< ADAPTIVE_MUTEX
480 :
root▲▲ ★ :2010/07/05(月) 00:16:56 ID:???0
ADAPTIVE_GIANT だったかも。
>>479
481 :
root▲▲ ★ :2010/07/05(月) 00:52:09 ID:???0
昨日の朝ダウンしたbanana3260、HDD大丈夫かな? 片肺になってなければいいが
片肺ならいやおうなく移転を決断せざるを得なくる予感だから 災い転じて移転計画には好都合ではないかと(マテ つーか量産期一号はPC13+N6系がどちらかが妥当ではないかと妄想するが如何なものか
NCQ成功したらPC11/12入れて失敗したら6系列、とか。逆でもいいか。
486 :
root▲▲ ★ :2010/07/05(月) 03:10:21 ID:???0
>>483 とりあえずHDDは大丈夫でした。
%atacontrol status ar0
ar0: ATA RAID1 status: READY
subdisks:
0 ad10 ONLINE
1 ad12 ONLINE
488 :
root▲▲ ★ :2010/07/05(月) 10:43:48 ID:???0
>なかのひと tiger3553はメモリ12Gのi7サーバなので、 OSなどがきちんと入った後の設定は、 1) 基本部分は現在のkamomeのセッティングを使用 2) CPUがよくなったので、 hayabusaセッティングから「rtprio活入れ」+「speedy_backend活入れ」の2つを導入 あたりがいいのではないかと思いますです。 httpd の数はもう少し増やせるかもしれないですが、 量産型なので、安定志向の意味で、まずは上記かなと。
鯖名は何でしょう? toki?
490 :
root▲▲ ★ :2010/07/05(月) 13:12:02 ID:???0
ん、BBQおかしいな。 ちょっとみてきます。
491 :
root▲▲ ★ :2010/07/05(月) 13:13:49 ID:???0
BBQのデータが空だ。 なぜだろう。
Opera miniから書いてみたけど正常に吸い込まれたようだ
493 :
root▲▲ ★ :2010/07/05(月) 13:20:44 ID:???0
昨日の夜10時ぐらいに何か設定を変えてあるな。うむむ。
Rockの後と言わずに同時進行でBBQ鯖交換して欲しいものです。
BBQ終わったな
BBQはバーボンとならぶ2ちゃんの主要迎撃システムだから、ここが落ちるとバーボンでもきついぞ
ついさっきエロい人がなにやらいじったっぽいけど、あんまり関係ないかな?
【協力願】Boo2008(旧Boo80)で串を食べませんか? その8
http://qb5.2ch.net/test/read.cgi/operate/1268473561/196 196 名前:未承諾広告※ ◆Rock54hC3G0C [sage] 投稿日:2010/07/05(月) 11:52:42 ID:5BO9Ftcm0 ?PLT(12347)
[qw(1.16[TAB]2010/07/05[TAB]PIDを表示。。。)],
498 :
root▲▲ ★ :2010/07/05(月) 13:34:19 ID:???0
各BBQの元ネタをくっつけて、DNSにくべるところがうまく動いていないっぽいな。
499 :
root▲▲ ★ :2010/07/05(月) 13:41:32 ID:???0
ループ中の next でスキップしているところに虫がいるっぽいような。 全行、スキップの対象になっているみたい。
500 :
root▲▲ ★ :2010/07/05(月) 13:44:48 ID:???0
というか、このPerlのプログラム、 BBQのDB生成をする時、全部のBBQデータをオンメモリにするように見えますが、 気のせいなのかな。
501 :
root▲▲ ★ :2010/07/05(月) 13:49:02 ID:???0
next if $hosts =~ /^#/ or $hosts =~ m|[^\w.:/-]|; ここに虫がいるっぽいけど、 上記、何をやっているんだろう。
502 :
root▲▲ ★ :2010/07/05(月) 13:49:57 ID:???0
or の前は、# だったら読まない、かな。 コメントを飛ばす処理か。 or の後は、、、。
それを書いた戦犯は誰だ
まず昨日触ったの誰なの?w
505 :
root▲▲ ★ :2010/07/05(月) 13:52:12 ID:???0
ためし実行中。 このプログラム、超メモリ食いっぽい。 PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 19781 ユーザ名 1 125 0 574M 551M RUN 0 0:18 50.44% perl5.8.7
506 :
root▲▲ ★ :2010/07/05(月) 13:53:00 ID:???0
うむ、そこをスキップしてもいまいちだな。
一件ずつ読み込むんじゃなくてまとめて全件メモリに放り込んであるのか 昔なら大丈夫だったんだろうけど、最近の串発生率には追いつかなくなってきたのかな
508 :
root▲▲ ★ :2010/07/05(月) 13:55:31 ID:???0
あ、なんかわかった。 ためしてみる。
>>501 の奴、最後の「|」っているのか?
m または[^\w.:/-] にマッチさせたいんじゃないの?
m演算子 m演算子は、正規表現を「/」で囲う場合は特に指定する必要はない。 ただ、日付等「/」を含む文字列を表現する際に「/」以外の文字で正規表現を囲う場合、m演算子が必要となる。
そうなのか やっぱり軽く触っただけの素人が口出しすべきじゃないなw
512 :
root▲▲ ★ :2010/07/05(月) 14:05:07 ID:???0
おー、思いもよらないところが。
俺もPerl知らないですけどね
514 :
root▲▲ ★ :2010/07/05(月) 14:18:58 ID:???0
515 :
root▲▲ ★ :2010/07/05(月) 14:20:35 ID:???0
で、問題はもう一つあったっぽくって、 たぶんデバッグなのかどうなのか知りませんが、 そもそもBBQの中身を*出力しない*状態になっていますた。
>>501 が今は関係ないのなら、いじらない方がいい予感
>>515 を見る限りテスト用に走行させて直すの忘れていたという感じなんじゃないかと
>>515 ちょwそれ意味ないw
とりあえず
ttp://www.rfs.jp/sb/perl/02/09.html >・m// 演算子
>m// 演算子は、パターンマッチで文字列検索を行ないます。スカラコンテキストでは、マッチするごとに TRUE を返し、
>最終的にマッチしなくなったときに FALSE を返します。対象の文字列を変更すると、検索位置は先頭にリセットされます。
>=~ 演算子か !~ 演算子で検索対象の文字列を指定しなかったときは、$_ が検索対象となります。
>区切文字が "/" のときには、最初の m を省略することができます。m を付けるときには、英数字でも空白でもない、
任意の文字のペアを区切文字として使うことができます。たとえば、パス名「/usr/local/bin /perl」など「/」を含む文字列の場合は、
mオプションで区切り文字を変更すると文がすっきりとします。
518 :
root▲▲ ★ :2010/07/05(月) 14:22:16 ID:???0
>>515 具体的には、ファイル作るループの前で、
close $IP_file_FH;
とやって、ファイルをクローズしているっぽい。
(で、後のほうでクローズしたものに print している)
519 :
root▲▲ ★ :2010/07/05(月) 14:23:51 ID:???0
>>517 ふむふむ。
$hosts =~ m|[^\w.:\/-]|;
は、具体的に何をしようとしているっぽいのかな。
本人に聞きてぇ
521 :
root▲▲ ★ :2010/07/05(月) 14:26:45 ID:???0
ごめん、
>>519 は、
next if $hosts =~ /^#/ or $hosts =~ m|[^\w.:/-]|;
がもとの記述です。
^[a-zA-Z_0-9].:/- のどれか一つってことなのかな・・・?多分間違ってる Perlの正規表現っていろいろややこしい・・・ 書いた本人どこいったの?
> next if $hosts =~ /^#/ or $hosts =~ m|[^\w.:/-]|; 先頭が# or 先頭が小文字英数字か.か:か/か-だったら飛ばす。。。かな? .:/-がなんか意味があったりするのかな?
524 :
root▲▲ ★ :2010/07/05(月) 14:30:33 ID:???0
そうか、 / を含むから、 m| | で囲んだんですね。 [^\w.:/-] は、 行頭 \w . : / - となるのか。 で、ここで全ての行が吸い込まれて(つまり、next扱いに)しまう。
525 :
root▲▲ ★ :2010/07/05(月) 14:31:09 ID:???0
あ、. って \. じゃね?
>>525 ですね
じゃないと全ての何かしらの文字になっちゃいます
527 :
root▲▲ ★ :2010/07/05(月) 14:32:21 ID:???0
うむ、ちがうっぽいな。
コピペじゃないの^^;;