___________
. .ノ ,――┬.――.┬――, 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'´
’
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
1000 名前: 動け動けウゴウゴ2ちゃんねる [sage] 投稿日: 2010/06/30(水) 01:49:30 ID:wHKGfl7c0
名誉返上
名誉・・・・返上・・・・?
PK(Penalty Kick, Process Kill)記念日だなこれは
システム的に完敗ならギブアップだけど、
まだ知恵が足りない負け方だからなぁ。
がんがるます。次があればだけど。
tsushima はきついっすね。
ログインもできにくい。できたと思ったらコマンド入れにくい。
SSD以外、普通のT-bananaだからか。
>>14
準決勝でまた盛り上がると思います。
今日のダウンの原因を改善しましょ! ふふふ。 @ kamome
%uptime
9:52AM up 4 days, 6 hrs, 1 user, load averages: 4.09, 6.01, 4.40
kamomeはまだ3割ぐらい、余裕を残してますね。
もうLA下がり始めたので、この揺り戻しは確実に受け止められた。
kamomeで117Mでるんならhayabusaはもっと行けただろうなあ…
チューニング、次は全板突っ込むとかで試す?w
>>33
なにもしていません。@ tsushima 今見ている前で、5秒ぐらいおかしくなった。@ kamome
SSDが詰まった。
今はもどったはず。
subject.txt の大きさとかが全然違いますからねぇ
実況系の板で転送量がでるって凄いですよ
>>31
3割も余裕あるのか〜
鴎も出来る子だね! さてと。
今日のhayabusaは負けですが、次につながる負け方でした。
まだやれることがありそうです。
kamomeはすばらしかったです。大爆発をきっちり受け止めました。
もう安心して見ていられるかんじです。
>>45
トップページもですね。
あと、read.cgiというか、普通のブラウザ率も。 次の超弩級巨漢鰯マダァ〜(・∀・ )っ/凵⌒☆チンチン
おいちゃんもrootタンも日本代表も乙でした!
>>52
△→さんかっけい→さんかっけー
・・・あとはわかるな? こうなったらSSDのRAID0構成しかないな
500MB/sは出るだろw
RAID0じゃ意味ないだろ、ランダムは遅くなるし
むしろX25-Eを・・・容量足りないのかな
このあとのけいおん遅れテロップ挿入だけで
はやにゃんが突然死するとは誰が予想した
だろうか
>SSDのRAID0
とりあえず優越感を味わえる。
SSDをRAIDするとベンチの結果は早くなるけど実際あまり変わらないと聞くが…
でも尋常じゃない負荷がかかるからやっぱり効果あるのかな
まず logbuffer ですね。
とりあえず、思いつく手は3つか。
・rtprio で優先度を speedy_backend よりもさらに上にする
→ 試す価値あり、明日昼にでも
・logbuffer プログラムを、SunOSさんにさらに改良してもらう
→ マルチスレッド化とか、バッファを大きめにとるとか
・logbuffer がログをとる先を、SSDからHDDに変更する
→ 設定自体は比較的簡単のはず (symlinkを一つ変えるだけのはず)
>>58
OSもファイルシステムも違うからあまり比較にならん あとは、
・httpd の最大数が多すぎるかもしれない
→ logbuffer のはけがよくなれば、少なくできるかもしれない
かな。
>>56
・ライトキャッシュが増える。
・ストライプサイズを調整できるのでSSDの書き込み時のオーバーヘッドを最小限にできる。
きちんとしたアレイコントローラを使えばパフォーマンス向上は期待できる。
おいチョン公、これなんで表ざたになんねえんだろうなぁ。笑い
キモブサが調子こいてんじゃねえぞ鼻糞
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
浮浪者殺すのと、天皇殺すのは罪の重さが違うの?
あとは、
・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待つのも手。 logbuffer ですが,現状では読み込みは aio_read() になってますが
書き込みは元のままの処理 (fputs(), fflush()) です.
とりあえず入力(httpd からみると出力)を詰まらせないという意図だったんですが,
書き込みが何らかの要因で詰まると結局詰まるということになるんで,
書き込みも aio_write() にするというのは考えられますね.
あとマルチスレッド化ですが,
1. 同期I/O(=ブロックする可能性がある)処理を別スレッドにやらせる
2. 同じ処理を並列的に実行する
のいずれかであれば有効なんですが,非同期I/Oなら 1. の観点では不要となり,
一方 logbuffer は入り口も出口もそれぞれ1ヶ所ずつなので
2. のように並列化する要素もなかなか見あたらない気がします.
直接何も手伝えないのがもどかしいですが、運営の方々マジGJです(`Д´)ゞ
>>69
分かりやすいし面白いから密かに楽しみにしてるよwいつも乙w >>78
> 書き込みが何らかの要因で詰まると結局詰まるということになるんで,
> 書き込みも aio_write() にするというのは考えられますね.
おー。
ぜひぜひ。
> あとマルチスレッド化ですが,
> 1. 同期I/O(=ブロックする可能性がある)処理を別スレッドにやらせる
> 2. 同じ処理を並列的に実行する
> のいずれかであれば有効なんですが,非同期I/Oなら 1. の観点では不要となり,
> 一方 logbuffer は入り口も出口もそれぞれ1ヶ所ずつなので
> 2. のように並列化する要素もなかなか見あたらない気がします.
そうですね。非常に冷静な見解です。
bbsdやmatdで使っているマルチスレッド化とはちょっと違うかんじですか。 logbufferってローテート用のプログラムだから
mod_log_configに吸収させてみるとか。
>>81
それも、ちょっと考えてました。
ただ、httpdにモノリシックに組み込んでしまうよりは、
別プロセスの方が、rtprioで柔軟に活入れできるとか、
aio(4)を使って効率化を図れるとかのメリットがあるのかも。 そんなわけで、有意義な戦いですた。
rock54やBBQ/BBMサーバの切替は、
量産型新tigerを使って、色々うまく詰め込むかんじなのかなと。
で、明日もふつーに仕事なので、
そろそろねるです。
「けいおん」の盛り上がりがかわいく見える。
>>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があるこの状況で… まぁ、回線が許すならSAKURAの専用サーバあたりで運営できそうだしな。本来は500kB程度のdatのやり取りだし。
SSDの性能をどうにかしたいなら…やっぱりNCQかねえ。
NCQ有効化が無理なら無しでもそこそこやれる東芝あたりに乗り換えとか。
P2Pとかそこまでやるなら雪だるま構成にした方が早いんじゃ
がらにもなく、今たまたま読んだこれに感動した。
http://kamome.2ch.net/test/read.cgi/mnewsplus/1277856323/14
14 :名無しさん@恐縮です:2010/06/30(水) 09:09:58 ID:JAUiiJLi0
「大切なのは批評家ではない。強い人間がどのようにつまづいた
かを指摘する人物、または、ある偉業をなした者について、もっと
うまくできたかどうかを分析する人物ではない。すべての功績は、
実際に闘技場にいた人物のものだ。顔を泥と汗で汚した者、勇敢
に戦った者、間違いを犯し、そこから何度も立ち上がった者、偉大
な情熱、偉大な献身を知る者、価値ある大義のために身を捧げる
者、そして、最高の結果は目標の高度な達成という勝利であり、最
悪の結果は、仮に失敗しても、少なくとも最善を尽くして失敗したの
であり、あの勝利も敗北も知らない、寒々とした臆病な魂と、同じ
場所に立つことはないと知っている者だ」
テオドア・ルーズベルト >>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 ポイント部分を引用
> aio_write() システムコールによって、呼び出し元プロセスは iocb->aio_buf が
> 指すバッファから記述子 iocb->aio_fildes に iocb->aio_nbytes を書き込めま
> す。書み込み要求が記述子への待ち行列に入れられてしまうと、ただちに呼び出
> しは戻ります。呼び出しが戻った時点で書み込みは完了している可能性も完了し
> ていない可能性もあります。無効な引数のためなどにより要求を待ち行列に入れ
> られない場合は、呼び出しは要求を待ち行列に入れずに戻ります。 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.
という話もあるのか。 あとは大技として、
require 'sys/syscall.ph'; して、
SYS_aio_write とかを使うというのも、考えられるかな。
これだと、モジュールの追加作業がとりあえず要らないし、
if文入れて、hayabusaとkamomeだけまずは特別処理にすることもできそうだ。
これ以上if文を増やしたくないって言ってなかったっけ
>>102
もちろんうまくいくようなら、全サーバに適用→そのif文廃止 かと。 if文を増やしたくない理由が、負荷低減にあるんだと思うから
負荷を低減できるようなif文ならむしろ増やしたいだろうさ
>>95
「実際に動いた奴>越えられない壁>外野で騒いでいるだけの奴」ですね。
サッカーに限らず普遍的な言葉ですよね。
そういや
「困っている人を自分は無関係と目を背けながらも、他人の助け方には文句をつけることで
社会的責任を果たしていると勘違いするような人間はネットでよく見かける。」
なんてつぶやきを某代理人が引用してたのを思い出した。
ある意味>>88の人柱さん達にも通じる話ですよね。
「百聞は一見に如かず」も元は「百聞は一見に如かず、百見は一試に如かず」だったそうです。 ランクづけするならここでやるな
見ている人が不快になる
>>89
「キター」は一体感を楽しみたい方もいると思いますが
自分は審判の判定が変だと思った時「他にもそう思った人いるかな?」で実況をロムる事が多いので
やはり皆さんの書き込みは表示していただいたほうが有難いです >>106
勘違いしてないか?
生産的に助言を与える事を誰も否定はしていないじゃん。 >>46
F1イギリスGPもあるよ。これは大したことないかもだが重なるとなると 例によってトリップつきで。
これから >>96 申請します。 @ hayabusa
httpd再起動入ります。
ノ´⌒ヽ,,
γ⌒´ ヽ,
// ""⌒⌒"\ )
i / ⌒ ⌒ ヽ )
!゙ (へ)` ´(へ)i/
| /// (__人_)//| ボーナス出たお
\__ `ー'_/
/ ヽ
36252 root 1 -8 r23 9944K 1868K aiospn 7 0:01 0.00% logbuffer
設定されたもよりです。
確認の返事をメールで出すのが今難しいので、以下同文。>なかのひと
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.
>>117 は昨日の「落ちていたとき」だと思われ。
システムの中の値が足りなくなったと。
これは確か「スペシャルセッティング1」で、
loader.conf の中で既に増やしていた気がするので、
システムが言ってきているとおりに値を増やすのがいいのか、
あるいはそうではないのか、まずは調べてみる方向で。 デフォルトは今200で、
「スペシャルセッティング1」ではこの値を、
メモリ4GBytes用のチューニングとして、既に 2048 に増やしてあると。
で、もっと増やす必要がありそうと。
aio_write() 入れてみました @logbuffer
/usr/src/sys/amd64/amd64/pmap.c かな。
pmap.c は前にも読んでみた記憶があるソースだけど、
あとで改めて読んでみるか。
>>120
おー、あとで www2 でためしてみます。 pv_entry_max = (shpgperproc * maxproc) + (((((availmem - 1) * 2) + 1) / pagesize) - firstpage)
でしたっけ?
>>120
さらっとソース diff しました。
華麗なるダブルバッファ方式、というかんじに見えますた。
昔あった edd というやつを思い出しました。とてもいいふいんき(なぜか(りゃ)にみえます。
あと、
-#define MAX_AIO_READ (2*1024*1024)
+#define MAX_AIO_READ (4*1024*1024)
というのもしぶいです。
本当にhayabusaは、ギリギリ(アウト?)な場面を経験するごとに、
むむむさんが、「こんなこともあろうかと」と現れて、
対策を実装していくんだな。
なんか、実機が手元にないところも探査機に似ている。
と思ったら、
8097 root 1 67 r23 20312K 3952K CPU1 1 1:04 100.00% logbuffer
なんか、暴走してしまった。
ログファイルもとられないな。
とりあえず元に戻した。
>>127
それは、さっきのhttpd再起動の影響かと。
>>126 のテストは www2 でやっています。 >SunOSさん
デバッガでさらっと見てみたら、
while ( aio_read(&aiocbr) && errno == EAGAIN ) sched_yield();
ここでぐるぐるしているみたいです。
あ、ちがうかも。
sched_yield は他にもあるのか。
もうちょっとしらべてみます。
(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
>>131 で確定ですね。228行目。
これで、デバッグできるのかしら。 >>129-132 どうもすみませんです.で,228行目でループということだと
aio_write() が EAGAIN でずっと失敗し続けてるということに......
なぜそうなるのか,しばらく思案してみます...... >>133
どもです。
ちなみにその状態の時、ログファイルは吐かれておらず、
httpdは応答を返せない状態になるようです。 >>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);
}
(以下略) %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
うーむー、まじかいな。
%sysctl vfs.aio.max_aio_queue_per_proc=1024
vfs.aio.max_aio_queue_per_proc: 256 -> 1024
わーい。うごいた。
ということで、
・SunOSさんのコーディングには虫はいないらしい
・FreeBSD側のチューニングが必要だったらしい
ということの模様。
というわけで、このへんをチューニングすれば、
もっといい結果が得られるかもしれない、ということが新たに判明。
%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 より大幅に大きかったと...... >>140
結局いつもどおり、カーネルソースを当たるかんじでした。
例によって全部読むんじゃなくて、必要なところをちょこちょことやって、
それっぽいのを grep して、sysctl であたりをつける、みたいな。
>>135-137 が割と、いつもやっていることを如実に示してますです。
この例ではうまくいったわけですが、しくった時にはシステム即死で。 /etc/sysctl.conf @ www2 に、とりあえず、
# tuning for aio(4)
vfs.aio.max_aio_queue_per_proc=1024
を追加した。
ほかは、今時間あんまりとれないので、とりあえずあとで。
>>143
SUCCESS: 200 OK [逆引き不可] +1pt. <今日の設定内容>
・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の設定内容は、これから詰めるかんじで。
そんなわけで、都合によりこれからしばらくオフライン。
今日は早寝モードかも。
昨日の様なビックウェーブは当分無さそうだから、しばらくは淡々と作業って
感じでしょうかね。
判った事も色々あったし、また順調に経験値が上がったって事で。
ジブリ祭りにも例のヤツ来ないしなあ。
耳すまってどうして実況早くなるのか判らん。
なんかネタあったっけ。
>>151
序盤のコンクリートロード〜♪とか、ラストの「けっこんしよう!」からEDの流れは
徹底的にレスしてる。
それ以外は知らない。
原作通りの夢落ちネタだったらラストもっと加速してたのかなあとか、ふと思った事は
無くもない。 飛べない豚はただの豚ですこしはレスがつくだろうけれど、W杯ほどつくはずがありませんからねぇ。
日本は負けたけどW杯は並のスポーツ中継以上にはまだ盛り上がるだろ?
kamome.2ch.netにおみくじいれてくだしあ><
>>163
おお!7月になったからか!
無機質なグラフのページでもこういうのがあるのは良いなあw GJ&乙です。やっぱyutori7のE9が気になりますね…
169はんだごて ◆HANDAGOT9E NGNG
trickさん、お疲れ様でした〜
99から98に下がったんですね。gimpoに至っては80まで下がってますし・・・(´・ω・)
>>158
後は深夜ばかりだから、無理じゃないかなあ。 ネット弁慶は単なる配慮である。
現実では言えないといっているがガツンと真実を話してしまうと
相手を傷つけてしまうだろう。
(中傷ではなく問題点)
>おきつねさんの勝ちはどーんでも詰まりもしないような勝ち方?
これを基準にするのなら惨敗なのでは?
ん、2chの掲示板鯖としてはいわゆる5代目namidame(tiger3527)位しか導入されてないのか。
かつ退役済みだから関係なかったか。
pc11が退役すれば掲示板鯖はx86から脱却できるぜ
>>181
何か勘違いしてるみたいだけど先に作ったのtrickさんだよ。
ついでにどっちも別に公式じゃないし… そろそろ、にちゃんねる専用ブラウザならぬ、にちゃんねる専用HTTPサーバーの開発だ。
そういえば2ちゃんねるでOS作っていなかったっけ?
kamomeの板のsubject.txtなんかおかしくないか?
・SunOSさん版logbuffer(aio_read/aio_write両対応版)のインストール依頼
・上記に伴う、aio(4)関連のチューニングの新規追加(スペシャルチューニング9)
午後2時前後に依頼します。
たぶん午後3時ぐらいの作業開始をめど。
作業はchangi設定をはずしてからしないといけないので、
hayabusaとkamomeで、それぞれ30分ぐらいずつはかかるはず。
スペシャルセッティング9の解説と内容は、別途またここに。
>>97-99
おお、bbs.cgiの再々開発だと思ったら胸熱。
bbs.cgiの再開発に着手した頃のスレッドを読んで、遙か歩んできた道を見てさらに胸熱。
<むむむスペシャルセッティング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 の起動を確認する
私の準備ができたら、
>>190 を、tiger3552 = hayabusa と tiger3551 = kamome で
実施してもらうための依頼を出します。
hayabusa = tiger3552 15:00 JST作業開始
作業時間は問題なければ30分ぐらい
kamome = tiger3551 15:30 JST以降に作業開始
作業時間は問題なければ30分ぐらい
で、いこうと思います。
logbufferのソースは、依頼の後に別便で送ります。 なお、それぞれの作業中は、hayabusa と kamome は利用できなくなります。
ふと思ったんですが,changi 設定使う場合でも
HDD に保持する元の内容は例えば /usr/local-hdd とかに置いておいて
そこから md 上の /usr/local にコピーする形にすれば,
中身更新する際のリブートが不要になるんじゃないかと.
>>194
ありかもですね。
portsの保守性を下げず、
かつうまくやる設定がしたいところです。
そう考えるとむしろ、/usr/local-md なのかも。
いずれにせよ、一考の余地ありで。 予定通り開始するとの連絡ありました。
tiger3552 bbs.cgi 停止。
問題なさげなかんじ。
特に問題なければ、
kamome で同じ作業を 15:30 からで。
昔はプチプチとやっていたジンギスカンな板の板復帰を、
自作の fukkiall.sh で一撃でやるようにしたので、少し楽になりますた。
これに相当するのを起動時に児童実行、じゃないや自動実行するようにすれば、
ジンギスカンな板があっても、運用が楽になるのかしら。
tiger3551 の作業依頼は、15:30 に別途出す予定。
作業内容は tiger3552 と同じ。
tiger3551 = kamome
作業依頼した。
bbs.cgi停止。
>>201
どんどん機械に支配されていく
だれも気にかけない板だったら復帰かけなくてok >>204
あら、りょうかいです。
ひと系でうまくいってるなら、わざわざ変える必要なさそうですね。 かもめでおみくじができるようになんとかしてください
『鯖落ちスレをチェックして「板名+復帰してー」のレス数をカウントし、
ある一定数を超えたらその板を復帰』
自動的にやるにしてもこれくらいの遊びは必要だな。
>>212
おみくじ確認した
おいちゃんありがとー 技術論も精神論も2ch論も人それぞれなんだから好きにすればいいよ
そのうち削除も規制も機械がやるようになるのさ。解除モナ。
>>224 rootさん
了解しました。
WC、頑張って下さいませ
。
某方面から、kamomeではrtprioでの活入れをやっていない件について
お尋ねされたので、ここでも同じ内容を答えておこうかなと。
これは、今のところは「あえてそうしている」という状態です。
hayabusaの方がkamomeよりもCPU資源が豊富なので、
あれこれ活入れしてCPU資源を特別に割り当てても、
他への影響は少なく、問題なくいけるだろう、という読みがありました。
で、様子を見る限り、この活入れはかなり良い効果がありそうなので、
もし仮にkamomeにもっと板を詰め込まれて、重くなるよ局面が来るようなら、
様子を見ながら hayabusaでやったのと同じ活入れを、
ぼちぼちするかもしれないということで。
でも今のところはまだ、「手札」にしておきたいかもなと。
今日WCはお休みで、明日からが8強対戦なんでしたっけ。
オランダ 対 ブラジル - 7 月2日 23:00 (NHK総合)
ウルグアイ 対 ガーナ - 7 月3日 3:30 (NHK総合)
アルゼンチン 対 ドイツ - 7 月3日 23:00 (TBS系)
パラグアイ 対 スペイン - 7 月4日 3:30 (日本テレビ系)
google先生調べ(日本時間)
6コアのi7 970が今月中に出るって
hayabusaのCPUこれに変えてよ
・「Corei7-970」(Gulftown,7/18〜7/24の間に正式発表,6コア)
>>146
bbs.cgiってイベントループを持っていないと思うから、
aio化ってできないんじゃないかな。
どちらかというと、bbsdをaio化したほうが、よさそう。
よくわかんないけど、writeの返りを待たなくてもいいってことじゃないかしら。
きたく。
>>238
ふむふむ。
>>239
お、そうか。
ってことは、今のprintでやってるのを、
なんか違うのでやるといいかもしれん、ってことなのかな。
というか今思い出したけど、
そんな話、前にもどっかで書いた記憶が。
kakikkomi.txt 見てみるか。 >>240
どれだけ記録してるんですかw>kakikomi.txt >>239
writeの応答は待たなくてもよいけど、書き込み完了時に
バッファを解放する必要があるので、処理を終らせてよい
わけではないと思う。
>>242
2002年の乳即+記者キャップ応募から
噂では100MB超えているとかいないとか bbsdの方が性能が良さそうだけど、bbs.cgiの方がup to dateに改良され続けている
から互いに整合性がとれなくなってしまうという感じなのだろうか。
kakikomiで重くなるから1年ごとにファイルをバックアップ回ししてるな
めぼしいことやり尽くしたしなぁ ハードウェア生かすのにOS入れ替えなんて言う魅惑のヒビキもあるけど
>244
よくわかんないけど、writeが終わったかどうか判定すればいいんじゃない?
forkのwaitみたいな。
>>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 用バッファを確保する」 >>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 の不整合を
> 修正するという意味での復帰はまず必要なくなると思いますが,
> しかしサーバダウン -> リブート時の復帰はいずれにせよ必要なので,
> その部分をあえて自動化するとかしない限り風情は残るかと思います.
>>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のプライオリティを上げておくのは効果が高い あとは、
> bbsd の課題としては,924 関連等 bbsd に未対応なスクリプトとか,
> SETTING.TXT を消した時 bbsd に対して手動で操作しなくても板を unload するようにしたいとか
> いったところですが,まぁその辺は淡々と対応を進めればいいのかなと思います.
そですね。淡々と。
> 規制関連等の比較的更新がよく行われている部分は bbs.cgi が担当し,
> bbsd が担うのは基本的に最終的な書き込み部分という役割分担なので,
> 元々 bbsd は bbs.cgi ほどには頻繁に更新する必要はないですね.
そですね。
そういう気がします。
> しかしサーバダウン -> リブート時の復帰はいずれにせよ必要なので,
> その部分をあえて自動化するとかしない限り風情は残るかと思います.
そんなわけで、>>208 ですね。 あと、bbs.cgiでメスを入れるべきは、
たぶんきっと、index.html を作るところですね。
以前プロファイリングした結果を見直しても、圧倒的に違います。
他の処理よりも一桁、コストが高いです。
つまりここを何とかするだけで、
相当の見返りが期待できると。
で、個人的に思い始めているのは、
index.html を遅延書き込み(?) みたいなので、何とかできないものかなと。
datへの書き込みやログへの書き込みは、
完了を待ったほうがいいような気がするわけですが、
bbs.cgi でも最後のほうでやっている index.html の書き込みは、
必ずしもその完了を待たなくてもいいのかなと。
で、Saborinしていればそこはかなりスキップする、
という話はあるわけですが、前にも出たように新スレだとSaborinないし、
ここをうまくやれば全サーバで効果がありそうだし、
といったかんじで。
>datへの書き込みやログへの書き込みは、
今ってログの書き出しに失敗した場合、投稿自体も失敗扱いなんですか?
datへ書き出してからログへ書き出す場合、ログ処理は失敗でも投稿は成功したことになりますし、
その逆なら現状ログへの書き出しは必須となりますし。
前者であるならログの書き出しが時系列に行われるように出来れば非同期でも良いと思うのですけど。
>ログの書き出しが時系列に行われるように
芋ほりのことを考えてなので特に必要がないんだったら、
>>266の前者であるのなら非同期で問題ないような。 >>266-267
現時点では、datへの書き込みやログへの書き込み部分については、
私はいじる気はありませんです。
所詮、1行追記もので、
かつ書かれる量も index.html に比べれば以下略。 トップに表示されない下位スレのhtmlを作るのやめればいいのにー。
上10までのhtmlを作って、JSで読み込みですよ。
スレリストもsbuject.txtから読み込めばindexは完全に更新不要で夢が広がりんぐ。
index.html作成とリクエスト増はどっちが負荷高いんだろう。
関係ないけど、運用情報板の見たらやたら古いのが残ってる
http://qb5.2ch.net/operate/html/?C=M;O=A >>269
> キャップ漏れ
むぎゅー @ qb5 / qb6 >>271
ありがとうございます。
申し訳ありません>< そんなわけで、焼プリンさんからのメールにも同じことをおへんじしましたが、
再発行については、発行された方にご相談をば。
>>275
了解しました。
ありがとうございました。 >>270
JSだけにすると問題やら不満やら続出で結局JS無しバージョンも存続させる
必要があると言う事が既にread.jsで判明してるのであんまり。
index.html 書き出しに aio を適用して遅延させるにしても,
書き出すための文字列は前もって生成しておかなければならない,
そして index.html 書き出し処理が他と比べて重いのは
その文字列処理に起因している部分も多いのではないかとも思います.
>>279
MakeIndex4PCとMakeWorkFile(html/*.htmlを作るところ)は、
なんだか見るからに重そうですね。
手早くダイエットするとしたら、どのへんなんだろうか。 板トップって上位数スレの最新レスをいくつか表示してるけど、実況板ではあれを無くしてスレ一覧だけを表示する、とか。
複数のdatから何行か抜き出してくる処理が重いのかな。
>283
おぉ、もうやってたのね。
あとできそうなのは毎回open&readしなくていいやつを変数に持たせるとか、
writeをまとめて1回で呼ぶとか、
まとめちゃっていいならTemplate使うとか、
むしろindex.html/subject.txtは定時生成とか。
bbs.cgiにあるあのコメントカッコいいなぁ。
改めて読むとすごい。
確かに板トップの最新レス表示は蛇足のような気がしますね
>>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しかないプログラム」というのがどんなものか、
改めて骨身にしみて認識しました。
(続く) (ちと時間とれそうもなくなったので、続きはまた機会を改めて)
>その部分は当時既に、数1000行はあったと思います。
>そしてそこには、それ以降のbbs.cgiにおけるすべての処理が、
>ほぼすべて一つのメインルーチン内に、ノベタンで書かれていました。
うひゃー
これは大変そう。
ひろゆきw
きれいにサブルーチンに分けて書くのに疲れたのかww
必要な処理が全て入っていれば分ける必要はない、1行でも少ない方が速いはずだ
ってか?
まあ、サブ化するデメリットもあるけどmainのみというのはw
>>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とは大違いだった
こんなところでまたマ(ry
http://jfk.2ch.net/test/read.cgi/nanmin/1240616601/887,896
> 887 名前: ◆MUMUMUhnYI [sage] 投稿日:2009/05/30(土) 03:19:17 ?DIA(102226)
>
> ちなみに初代管理人の書く Perl プログラムには、大きな特徴が一つあります。
> それは、
>
> 「どんな規模のプログラムであっても、基本的にメインルーチンだけしかない」
>
> というものです。
>
>
> …久しぶりに夜更かししたな。そろそろ休むです。
> 896 名前:マァヴ ◆jxAYUMI09s [sage] 投稿日:2009/05/30(土) 15:06:48 ?PLT(62657)
>
> >>887
> そんなコードに触る勇者が3人いました。
> (^_^;)とSDさんとトオル君です。
> こまったことにこの3人はプログラムの素人でした・・・・
> しかも、お互いにまったく連携なしに、自分のやりたいことを実現できればOKな感じでいじったのです。
>
> さて、そのコードはどうなったでしょう?(^_^;) サーバーとサーバーをかけたシャレだろ〜
おもしろいかどうかはともかく。
夜間監視用新型社内サーバー「NESCAFE Barista」
なんかカッコいい(´∀`*)ポッ
おいしいアイスカプチーノを入れたいんじゃなかろうかと
7/2(金) 21:00 〜 22:54
金曜ロードショー「紅の豚」
7/2(金) 22:50 〜 23:55 〜 01:00
NHK教育→NHK総合
2010FIFAワールドカップ・準々決勝
「オランダ×ブラジル」
当社のコーヒーメーカーを買えば
継続的な豆の購入の特典として 書き込み権限が付いて来ます。
>>303
そのうち ビア・サーバー入れそうな希ガス 当社のビアサーバーを買えば
継続的な生ビールの購入の特典として 2ちゃんねるの過去ログが読み放題です。
>>310
あとは綺麗なおねーちゃんも入れれば完璧ですね、わかります 今じゃ鯖落ちを名物と思ってない人も増えてるからなあ
>>316
鯖落ちを楽しめない人が増えているんですよ。 世の中ピリピリしすぎなんだよなあ
バルスなんか鯖落ちするのが名物なのに
落ちない実況なんて…
バルス!の時は手動で落とせよ
約束だからな
>>314
11時に向けてのウォーミングアップにもなってない(´・ω・`) 豚はそこまで破壊力ないからなぁ
興味ないって人も少なからず居るかと
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じゃダメか
サッカーファン以外のニッポン応援ファンが離れちゃったからね
たまに、アタックらしき痕跡が報告されるよね
密かに対処されてるのか、放置されてるのか分からないけど
ティウンティウン
ティウンティウン
◎ ◎
◎ ◎
◎ ◎
Γ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧∧◎ ∧∧∧∧∧∧∧∧◎∧∧∧│
三三三三三三三三三三三三三三三 │
◎ ◎
◎ ◎
>>266
Apache httpd+CGI だと、ログ出力=レスポンス完了時=CGIプログラム終了時となるのがふつう。
つまり、ログに書けないことが原因でdatに書けないということはない。
もちろん、あくまでもふつうのケースなので、意識して先にログ出力することは出来ると思うが、
ログ出力されたことを確認してからdat書き込みなんてコストのかかることはやってないと推測。 きたく。
それなりに盛り上がってはいるのか。
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
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/
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/
ブラジル先制→オランダ逆転でちょっと盛り上がっているようです
logbuffer の刷毛がすごくよくなった。
httpdが詰まらなくなった。
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/
今どうでした?
私のPCがおかしくなってここに書けなかった。
(2chとは別の理由)
logbufferの挙動が一瞬おかしくなって、
LAがすごくあがった。LA=1000近くいったかも。
ちょうどhayabusaの様子がおかしかった時、
自分のPCで別ソフトの更新プログラムが動いていて、
何もできなかった。ちと悲しい。
logbuffer が突然、いなくなった。
で、どばどばどばっとプロセスが詰まって、LAが急上昇した。
>>348 の瞬間の様子が見たかったな、、、。
今はもう正常なので、様子がわからない。 logbufferの消失
LAえらいことになってますね
top で一番上にlogbufferがはりついて、
きちんと今までよりも多く、CPUを使ってくれてたんですよね。
で、いいかんじじゃん、って思ってたら、
突然 top から logbuffer が消えてなくなって、
LA がみるみる急上昇していき、speedy_backend がどばどばと詰まり始めた。
この間、画面を見るだけで、キーボードでの操作ができなかった。
みるみるうちにLA=1000近くにまでなった。
で、ようやく触れるようになってすかさず ps で探すと、
R 状態になった logbuffer がいた。
(このときtopのWindowでやったので、topは見れず)
しかし、logbufferの通産CPU処理時間が異常に少なくなっていたので、
logbuffer 自体が終了してしまっていたんだと思う。
で、次にtopを動かすと、logbufferが一番上に復活してて、
既に正常に戻りはじめていた。
%ls -l /logbuffer.core
-rw------- 1 root wheel 3813376 Jun 29 09:51 /logbuffer.core
これ保管しておこう。
>>349
してがカレーとキムチ間違えて出しそうになったとき・・・かな? というか、mode 600 か。自分ではとれないな。
中の人にこの core ファイルを私あてに送ってもらうように、
お願いしておこう。
と言っても、明日と明後日は会社の行事で私はおでかけ&オフラインの予定。
でも、core ができるような落ち方したので、
デバッグは可能な予感がするです。
タイミング的にブラジル選手に一発レッドカードのときでしょうか。
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
>>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 top の出力ではそのおかしくなっていた間、
"Lock" なプロセスがたくさんいたようだ。
さて、どうするのがいいのか。しかし情報量不足は否めないな。
ちなみにlogbufferが該当時間 core 吐いた、というsyslogはなかった。
実況鯖、そのぐらいの時間帯に繋がりにくくなったけど、ログを見る限り
連続して流れてる。不思議。
そういやうちの会社、リバースプロキシの処理速度あげたら何故か詰まるようになって、
何事かと思ったら裏側が早くなりすぎてhttpdのバッファがあふれるようになったというオチだった。
という日記。
状況証拠的には、
・高負荷時にlogbufferが突然、いなくなり、
・ログを渡す先がいなくなったhttpdがばたばたと詰まり始め、LAが急上昇し、
・それからしばらく後に、logbufferが復活し、
・httpdが元に戻った
ように見えますた。
>>370
次の試合は午前3時半からウルグアイ×ガーナなのでそれほど観客いないかと >>371
どもです。
それだと、状況再現は難しそうすね。 7/3(土) 22:00 〜 01:10 TBS
2010FIFAワールドカップ・準々決勝「アルゼンチン×ドイツ」
7/3(土) 22:05 〜 00:00 NHK総合
ウィンブルドンテニス2010 「女子シングルス・決勝」
7/4(日) 03:00 〜 05:40 日本テレビ
2010FIFAワールドカップ・準々決勝「パラグアイ×スペイン」
その時間帯(0:00JST台)のhttpdアクセスログを消えないところに保管しておこう。
(ログは古くなると消えてしまう)
後で何かわかるかもしれない。
とりあえず hayabusa のホームにコピーしておいた。>>375 でもまあ自然復活するのであれば、運用上それほどの痛手でもないような。とりあえずは
ということで、logbufferの挙動不審の原因が知りたいところ。
1) logbufferプログラムの問題
2) FreeBSDのaio(4)のチューニングが不十分
3) FreeBSDのaio(4)に虫がいる
4) 他の何か
で、こいつらをチューニングしれ、ということの模様。
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)
以外は、すべてデフォルトのまま。 直感では、
> vfs.aio.max_aio_queue (default) 1024
これっぽいかな。
per_proc の増やしぶりに合わせるとしたら、
1024 → 4096 かな。
でもソースさらっと当たらないと、ちょっと不安だな。
まずは基本のこれやって、と。
%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
で、これか。
%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
あとはとりあえず、明日以降かな。
>>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も居る?
>>386
httpd を一時的に止めると、その値は 0 になりました。@ www2
他の値は変わりませんでした。
で、SunOSさん版logbufferを動かすと、この値は513にはりつくみたい。 >>337
ここでいうログって芋ログのことだと思ってたんだけど違うのかな?
レスはあるけどその芋ログがないとかが起きないように、芋ログ出力の成功を経てdatへの書き出しを行っているのかなと。
まぁそんな面倒な処理にはなってない感じだけどね。 面白かった、今の試合。
今日の試合で負荷実験は終わりでしょうな。
う〜む,何が起きてたんでしょうねぇ......<logbuffer
core は aio_write() 入れる前のやつのようですが,
いずれにせよ何かが起きてたらしいと.
>>386-387 とにかく logbuffer を詰まらせないのを目標に,
aio の並列実行数を思い切った数値にしてる感じです. >>391
それだとやっぱり、システム全体のキャパを大きくしておくために、
>>384 をhayabusaとkamomeに投入してもらうのがよさそうですね。
/etc/sysctl.confに追加してもらって
/etc/rc.d/sysctl restartするだけなので、動かしながら投入できます。
ぼちぼちというかんじで。 >>393 をkamomeとhayabusaに設定するのをお願いした。 挙動は変わると思うけど、プログラムで個別にaioに対応するより、
asyncでディスクをマウントして、sysctlのvfs.*dirty*あたりをいじるっていうのも手じゃないのかなと。
SSDとの相性は知らないけど…
>>395
/home を async + gjournal とかにして、
そのへんを別途試してみる、というのはありかもですね。 >>396
聞きかじりですが、gjournaは2chのような重いサーバーには不向きかもしれません… rootさんの移動っぷりは異常
まさか外国行ってるとはw
>>398
実際に試してみた人から聞いたのですが、「負荷がかかると応答しなくなる」とのことでした。
1年ぐらい前の話なので、それ以来改良されているかどうかわかりませんが…
個人的にはSoftupdate Journalingでしたっけ、あれに期待してます。
さすがに何TBでfsckはもうごめんなので… >>402
iPhone4らしいからそのせいかも
4はMicroSIMとかで帯域が多少違うかも試練 405動く動くウゴウゴ2ちゃんねるNGNG
今夜は落ちるでしょ(笑)
aioの読み書きはカーネルスレッドが行う。例えばLinuxでは[aio/0]などがそのカーネルスレッドに当たる。
そのカーネルスレッドが非preemptableなのにaioを使いまくるとLAがうなぎ登る原因になり得る。
が、Linuxの場合はカーネルのコンパイルオプションでCONFIG_PREEMPT_VOLUNTARYが有効ならば(大抵は有効になっている)、カーネル内の任意の位置をpreemptableにできる。
そのため、そのカーネルスレッド内にpreemptableな場所があれば問題はかなり軽減されるはず (が、実際preemptableな場所があるかは知らない)。
しかし、そうすると読み書き処理が遅れたままとなってしまう…。うーん、微妙? 何か勘違いしているかも。
ちなみにLinuxだとカーネルスレッドの優先具合は確かnice値の初期値が過去に-5だったぐらい(今は0だったはず)。
FreeBSDでどうかは詳しい人に任せた。
>なかのひと
今日記読みました。取り急ぎ。
いろんな意味で、8.0Rはおすすめできません。
ほんの少し待つと出る8.1Rでいきたいです。
(今回は比較的安産のようです)
で、既に8.1-RC2が出ている状態なので、
8.1前提でのサーバのパッケージング作業などは、
既に進められる状態になっているはず。
>>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 >>410
aio_writeでOS側のキューに入った後のNGは
しょうがないかなと思っていました。
あと、1000overやdatサイズoverは、bbsdでチェックしているのと、
aio_writeでキューに入らなかった場合ぐらいは、書き込み
エラーを返すのがよいのかな、ぐらいの気持ちです。
>>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 で発生したエラーのこと。 >なかのひと
とりいそぎ。乱筆すまぬ。
dmesgを見るかぎりだと、
BIOS的にahciモードに設定変更せずに、
たぶんataモードのままで、最初の8.0Rを入れてしまった気がします。
これだと折角load ahciしても、何の効力も発揮しないです。
デバイス名が、
ataとadで認識されちゃまずいです。
変わるはず。
あと、dmesgしてahciの文字が一つも出てない時点で、
おかしいと気づかないといけない。
ざんねんですがこれだと前に進んではだめで、
PIEでの最初のOS入れの作業からやりなおしです。
で、今単にahciにかえると、
途中でかえたときとおなじになり、
例の/etc/fstabを変えないといけないのと同じパターンになりますから、
立ち上がりません。
というか今回は標準手法の確立も
たぶん目的でしょうから、
そういう意味でも、OSの入れ込み直しから
やってもらうのがよいと思います。
いずれにせよ今のままで先に進まないで!!
ふと思ったけど、
> ad4: 476940MB <Seagate ST3500418AS CC38> at ata2-master SATA300
これ500GBのHDDだよね
まあこのHDDは500GBプラッタものらしいから250GBプラッタもの(hayabusaに搭載されてるST3250410ASとか)より早くていいけど
何という名前で認識するかは、
8.0なり8.1が入ったサーバで、
man ahciして確認してくださいです。
くれぐれもですが、
一番だいじなのは手順自体を守ることではなく、
その手順というか行為が、
ちゃんと本来の目的を達成しているかどうかを
きちんと確認することです。
つまりこの場合だと「dmesgがこうなったらおk」とか、
「このコマンドでこういう出力が得られればおk」
のように、
やったことがちゃんとうまくいったのかのレビューの方法をきちと確立し、
それをもって確認してから前に進む、
というのが大事ということで。
>>419
PIEが間違えちゃったのか
rootさんがインストール時にahciモードにする手順を作って連絡してたよね?
まあ1度間違えれば2度目は無いだろうし、良い経験になるかw おいおい、rootさんがここまで語気を荒らげる事なんて、滅多にないぞ。
なかの人は、きちんと学べよ。
そんなわけで、ataとadじゃなくてahciとada にならないと変です。
man ada してくださいです。
で、なんでかというと、今回のそもそもの目的は、
例のNCQを有効にすることで、
NCQはahciで認識させたうえでディスクをadではなくadaで認識させるのに成功しないと、
現時点では有効にならないからです。
そんなこんなで、
これから夕食と宴会らしいので、
少なくとも数時間程度はオフラインでふ。
語気を荒げるというか、
このままの基礎で大きなマンションを建てちゃうと、
後でマンション自体を取り壊さないといけなくなってしまい、
結局大きな手戻りが以下略。
>>427
姉歯建築みたいな状態になってるってことですね。わかりますw しかしNCQやるなら量産型に入る前のどこかの実験鯖でやっておくべきだっただろうJKとしか言いようがない
>>426
それですね。
でもカーネルをつくりなおさなくてももっと簡単にいける、
というのが、れいのload ahciのきもだったはず。
で、atadiskをnodeviceにするのとおなじことを、
6を押したあとでやらないといけないかも、
ということになるのかな。
どなたかかその方法をここに以下略。 詳しくはPart49の>>290さんを参照ということで
ミソは、CAMを有効にする前にデバイスが認識されているとマズいということなので
BIOSで最初からAHCIモードにしておけばそもそも認識されず問題無いと
明確にnodeviceとかやるのは、ATA on CAMとかもやりたい時などで良いのでしょう
もちろんカーネルをいじって盲腸になりかねないこいつらを消すべきではありますが メモリだけ増やしてもすぐに使い切りそうな勢いだねbooは
手順が確立したら、hayabusaも移転になるのかな
実験鯖とはいえ、OSだけ入れ替えるのは難しそう
今swapって何か仕事してんの? なくてもよくね?
>>427
ここで気をつけておかないとバッドフラグたっちゃうのか dat 側は MAP_SHARED な mmap() を使うというのも面白いんじゃなかろうか。
ウランをバケツで混ぜるような現場に説教しても…
手順書作って「この通りやれ」ってするしか
>>422中段が自分に向けて言われているような気がする今日この頃。 >>442
手順を作る側ならそうかもしれんな。
手順を渡される側なら余計なことは考えんな。 >>443
作る側なら目標確認は必須だが、作られた手順を使うなら
むしろ余計なことをするのは事故の元だしね
現在は手順構築時点だから無論効果を確認しながらやらないとダメな訳だけど >>445
俺はアナログとデジタル二画面で見るw
んでアナログの音はNHKのTVのラジオの方で聞くと
実況は多分少し盛り上がるだろうけどここに出るような影響はないと思う まぁ民放とNHKで同時に同じ画面ってめったに無いからねぇ
ただ一分しかないから多分「どーん」がきて終わるだけだろうねえ
ちょっと探したら20年前の携帯TVが出てきたのでこれとワンセグで比べてみようw
さてさてもうすぐですね、今は鋼最終回で盛り上がってるみたいですが。
見たいんだけどこれから出かけるんだよねぇ、まあしゃーない。
実況もそうだけどニュー速とかVIPとかでも盛り上がりそうな幹事だよねぇー
>>449
たった1分をw つべに比較動画とかあげられて
後世まで残るんだろうなー
砂嵐とかピロロロロとか(名前忘れた)
生半可な番組よりは人多いよw
アナログは全局同じ内容だったね(放送大学を除く)@東京
砂嵐で少し「どーん」が来たみたい
なんなくこなしたって感じですか
hayabusa鯖の地デジ化テストは問題なしと
あーおもしろかった
別にぼろぼろの雪だるまでもあれくらい耐えられるだろ
>>464
アニメ見る層はみんな地デジ移行終わってるって >>464
つうか視聴者が見たいと思って見る「作品」の反応と
「御知らせ」を比べても意味の無いように思えるのですが・・・ >>465
逆に実況的にはアナログのほうがいいから濃いアニメ実況民は逆にアナログを選びたがるものだぞ >>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 だとデフォルト有効になってたりします。 >なかのひと
> パッチあてを行うと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に当たるはず。 >>472
これはどうでしたっけか。
# IPI_PREEMPTION instructs the kernel to preempt threads running on other
# CPUS if needed. Relies on the PREEMPTION option
# Optional:
options IPI_PREEMPTION # 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.
>>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%│全国一斉地デジ化テスト いまざっと見てみたんですが、
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とか酷いのでやめといた方が良さげ。 >>478
確かに 7.x の config file にはそんなオプション、ありましたね。< ADAPTIVE_MUTEX ADAPTIVE_GIANT だったかも。>>479 昨日の朝ダウンしたbanana3260、HDD大丈夫かな?
片肺になってなければいいが
片肺ならいやおうなく移転を決断せざるを得なくる予感だから
災い転じて移転計画には好都合ではないかと(マテ
つーか量産期一号はPC13+N6系がどちらかが妥当ではないかと妄想するが如何なものか
NCQ成功したらPC11/12入れて失敗したら6系列、とか。逆でもいいか。
>>483
とりあえずHDDは大丈夫でした。
%atacontrol status ar0
ar0: ATA RAID1 status: READY
subdisks:
0 ad10 ONLINE
1 ad12 ONLINE >なかのひと
tiger3553はメモリ12Gのi7サーバなので、
OSなどがきちんと入った後の設定は、
1) 基本部分は現在のkamomeのセッティングを使用
2) CPUがよくなったので、
hayabusaセッティングから「rtprio活入れ」+「speedy_backend活入れ」の2つを導入
あたりがいいのではないかと思いますです。
httpd の数はもう少し増やせるかもしれないですが、
量産型なので、安定志向の意味で、まずは上記かなと。
Opera miniから書いてみたけど正常に吸い込まれたようだ
昨日の夜10時ぐらいに何か設定を変えてあるな。うむむ。
Rockの後と言わずに同時進行で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を表示。。。)], 各BBQの元ネタをくっつけて、DNSにくべるところがうまく動いていないっぽいな。
ループ中の next でスキップしているところに虫がいるっぽいような。
全行、スキップの対象になっているみたい。
というか、このPerlのプログラム、
BBQのDB生成をする時、全部のBBQデータをオンメモリにするように見えますが、
気のせいなのかな。
next if $hosts =~ /^#/ or $hosts =~ m|[^\w.:/-]|;
ここに虫がいるっぽいけど、
上記、何をやっているんだろう。
or の前は、# だったら読まない、かな。
コメントを飛ばす処理か。
or の後は、、、。
ためし実行中。
このプログラム、超メモリ食いっぽい。
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
一件ずつ読み込むんじゃなくてまとめて全件メモリに放り込んであるのか
昔なら大丈夫だったんだろうけど、最近の串発生率には追いつかなくなってきたのかな
>>501の奴、最後の「|」っているのか?
m または[^\w.:/-] にマッチさせたいんじゃないの? m演算子
m演算子は、正規表現を「/」で囲う場合は特に指定する必要はない。
ただ、日付等「/」を含む文字列を表現する際に「/」以外の文字で正規表現を囲う場合、m演算子が必要となる。
そうなのか
やっぱり軽く触っただけの素人が口出しすべきじゃないなw
で、問題はもう一つあったっぽくって、
たぶんデバッグなのかどうなのか知りませんが、
そもそもBBQの中身を*出力しない*状態になっていますた。
>>501が今は関係ないのなら、いじらない方がいい予感
>>515を見る限りテスト用に走行させて直すの忘れていたという感じなんじゃないかと >>515
ちょwそれ意味ないw
とりあえず
http://www.rfs.jp/sb/perl/02/09.html
>・m// 演算子
>m// 演算子は、パターンマッチで文字列検索を行ないます。スカラコンテキストでは、マッチするごとに TRUE を返し、
>最終的にマッチしなくなったときに FALSE を返します。対象の文字列を変更すると、検索位置は先頭にリセットされます。
>=~ 演算子か !~ 演算子で検索対象の文字列を指定しなかったときは、$_ が検索対象となります。
>区切文字が "/" のときには、最初の m を省略することができます。m を付けるときには、英数字でも空白でもない、
任意の文字のペアを区切文字として使うことができます。たとえば、パス名「/usr/local/bin /perl」など「/」を含む文字列の場合は、
mオプションで区切り文字を変更すると文がすっきりとします。 >>515
具体的には、ファイル作るループの前で、
close $IP_file_FH;
とやって、ファイルをクローズしているっぽい。
(で、後のほうでクローズしたものに print している) >>517
ふむふむ。
$hosts =~ m|[^\w.:\/-]|;
は、具体的に何をしようとしているっぽいのかな。 ごめん、
>>519 は、
next if $hosts =~ /^#/ or $hosts =~ m|[^\w.:/-]|;
がもとの記述です。 ^[a-zA-Z_0-9].:/-
のどれか一つってことなのかな・・・?多分間違ってる
Perlの正規表現っていろいろややこしい・・・
書いた本人どこいったの?
> next if $hosts =~ /^#/ or $hosts =~ m|[^\w.:/-]|;
先頭が# or 先頭が小文字英数字か.か:か/か-だったら飛ばす。。。かな?
.:/-がなんか意味があったりするのかな?
そうか、 / を含むから、 m| | で囲んだんですね。
[^\w.:/-]
は、
行頭
\w
.
:
/
-
となるのか。
で、ここで全ての行が吸い込まれて(つまり、next扱いに)しまう。
>>525
ですね
じゃないと全ての何かしらの文字になっちゃいます