2ch特化型サーバ・ロケーション構築作戦のスレッドです。
・2ちゃんねるのサーバロケーション、PIEに関する関連作業・調整事項
・DNS登録・変更関連の各種作業や調整事項
・2ちゃんねるのサーバで採用しているOS、FreeBSDに関する情報・調整事項
・各種作戦・プロジェクトとの連携、プロジェクト間の連携
等を取り扱います。
前スレ:2ch特化型サーバ・ロケーション構築作戦 Part52
http://qb5.2ch.net/test/read.cgi/operate/1277651499/
2ch特化型サーバ・ロケーション構築作戦 Part53
■ このスレッドは過去ログ倉庫に格納されています
NGNG
2010/06/30(水) 01:57:58ID:UroyeBm60
決勝と選挙って同じ日だね
2010/06/30(水) 01:58:20ID:UZaH/JzIP
ハヤブサ鯖お疲れさまっした
2010/06/30(水) 01:58:33ID:D6n/bETP0
49root▲▲ ★
2010/06/30(水) 01:59:08ID:???0 さてと。
今日のhayabusaは負けですが、次につながる負け方でした。
まだやれることがありそうです。
kamomeはすばらしかったです。大爆発をきっちり受け止めました。
もう安心して見ていられるかんじです。
今日のhayabusaは負けですが、次につながる負け方でした。
まだやれることがありそうです。
kamomeはすばらしかったです。大爆発をきっちり受け止めました。
もう安心して見ていられるかんじです。
50root▲▲ ★
2010/06/30(水) 01:59:40ID:???02010/06/30(水) 02:00:07ID:Db6zG2aB0
ハヤブサよく頑張ったさようなら
2010/06/30(水) 02:00:39ID:i3nsU7R70
なんでほんださんかっけーが本田△になるんだよう
53動け動けウゴウゴ2ちゃんねる
2010/06/30(水) 02:02:25ID:1c3I4Aps0 次の超弩級巨漢鰯マダァ〜(・∀・ )っ/凵⌒☆チンチン
2010/06/30(水) 02:02:49ID:D6n/bETP0
2010/06/30(水) 02:03:03ID:tcSocmtl0
こうなったらSSDのRAID0構成しかないな
500MB/sは出るだろw
500MB/sは出るだろw
2010/06/30(水) 02:03:55ID:9qAK3gWc0
RAID0じゃ意味ないだろ、ランダムは遅くなるし
むしろX25-Eを・・・容量足りないのかな
むしろX25-Eを・・・容量足りないのかな
2010/06/30(水) 02:04:10ID:UjvxdgpN0
>>55
でるの?
でるの?
2010/06/30(水) 02:06:27ID:tcSocmtl0
2010/06/30(水) 02:06:34ID:+xXIpRXUP
このあとのけいおん遅れテロップ挿入だけで
はやにゃんが突然死するとは誰が予想した
だろうか
はやにゃんが突然死するとは誰が予想した
だろうか
2010/06/30(水) 02:06:57ID:p1xfgdxYP
SSDをRAIDするとベンチの結果は早くなるけど実際あまり変わらないと聞くが…
でも尋常じゃない負荷がかかるからやっぱり効果あるのかな
でも尋常じゃない負荷がかかるからやっぱり効果あるのかな
62root▲▲ ★
2010/06/30(水) 02:07:12ID:???0 まず logbuffer ですね。
とりあえず、思いつく手は3つか。
・rtprio で優先度を speedy_backend よりもさらに上にする
→ 試す価値あり、明日昼にでも
・logbuffer プログラムを、SunOSさんにさらに改良してもらう
→ マルチスレッド化とか、バッファを大きめにとるとか
・logbuffer がログをとる先を、SSDからHDDに変更する
→ 設定自体は比較的簡単のはず (symlinkを一つ変えるだけのはず)
とりあえず、思いつく手は3つか。
・rtprio で優先度を speedy_backend よりもさらに上にする
→ 試す価値あり、明日昼にでも
・logbuffer プログラムを、SunOSさんにさらに改良してもらう
→ マルチスレッド化とか、バッファを大きめにとるとか
・logbuffer がログをとる先を、SSDからHDDに変更する
→ 設定自体は比較的簡単のはず (symlinkを一つ変えるだけのはず)
2010/06/30(水) 02:07:53ID:NKU4dpFA0
>>58
OSもファイルシステムも違うからあまり比較にならん
OSもファイルシステムも違うからあまり比較にならん
64root▲▲ ★
2010/06/30(水) 02:08:05ID:???0 あとは、
・httpd の最大数が多すぎるかもしれない
→ logbuffer のはけがよくなれば、少なくできるかもしれない
かな。
・httpd の最大数が多すぎるかもしれない
→ logbuffer のはけがよくなれば、少なくできるかもしれない
かな。
2010/06/30(水) 02:08:07ID:7wEaW4M/0
2010/06/30(水) 02:09:04ID:6bbVn6J3P
67動け動けウゴウゴ2ちゃんねる
2010/06/30(水) 02:09:26ID: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
浮浪者殺すのと、天皇殺すのは罪の重さが違うの?
キモブサが調子こいてんじゃねえぞ鼻糞
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
浮浪者殺すのと、天皇殺すのは罪の重さが違うの?
68root▲▲ ★
2010/06/30(水) 02:10:20ID:???0 あとは、
・OSを8.1Rにし、従来のataドライバではなくahciドライバで動かす
→ OSインストール時にそのように設定する必要があります
ahciドライバにする場合にインストール時にやることは基本的に、
emの差し替えにちょっと近いのり。
ここの過去ログにもあったはず。
・OSを8.1Rにし、従来のataドライバではなくahciドライバで動かす
→ OSインストール時にそのように設定する必要があります
ahciドライバにする場合にインストール時にやることは基本的に、
emの差し替えにちょっと近いのり。
ここの過去ログにもあったはず。
>44
誰かがやってくれるかもしれないけど、やってくれないかもしれないからな
つか専門用語ばかりなので書いている本人が理解していないのが困りもの
∧_∧
∧__∧ (´<_` ) 無駄な労力だな、兄者
( ´_ゝ`)/ .⌒i まぁ特筆すべき件については、最終的に誰かが書くと思うけどね
_(__つ/ ̄ ̄ ̄/i |_
\/___/ ヽ⊃
誰かがやってくれるかもしれないけど、やってくれないかもしれないからな
つか専門用語ばかりなので書いている本人が理解していないのが困りもの
∧_∧
∧__∧ (´<_` ) 無駄な労力だな、兄者
( ´_ゝ`)/ .⌒i まぁ特筆すべき件については、最終的に誰かが書くと思うけどね
_(__つ/ ̄ ̄ ̄/i |_
\/___/ ヽ⊃
2010/06/30(水) 02:11:36ID:tcSocmtl0
2010/06/30(水) 02:12:43ID:UjvxdgpN0
2010/06/30(水) 02:14:23ID:IzpedbfV0
フーリガンよろしく、サッカー関連で運営板のあちこちに殴り込みがwww
2010/06/30(水) 02:14:28ID:NKU4dpFA0
2010/06/30(水) 02:16:33ID:MQVtzzTM0
2010/06/30(水) 02:17:07ID:QgaJ09aK0
>>67
そのままコピペってダメじゃなかったか?
そのままコピペってダメじゃなかったか?
2010/06/30(水) 02:19:06ID:6bbVn6J3P
>>67
コピペも同罪って知ってた?
コピペも同罪って知ってた?
77root▲▲ ★
2010/06/30(水) 02:24:21ID:???0 logbuffer ですが,現状では読み込みは aio_read() になってますが
書き込みは元のままの処理 (fputs(), fflush()) です.
とりあえず入力(httpd からみると出力)を詰まらせないという意図だったんですが,
書き込みが何らかの要因で詰まると結局詰まるということになるんで,
書き込みも aio_write() にするというのは考えられますね.
あとマルチスレッド化ですが,
1. 同期I/O(=ブロックする可能性がある)処理を別スレッドにやらせる
2. 同じ処理を並列的に実行する
のいずれかであれば有効なんですが,非同期I/Oなら 1. の観点では不要となり,
一方 logbuffer は入り口も出口もそれぞれ1ヶ所ずつなので
2. のように並列化する要素もなかなか見あたらない気がします.
書き込みは元のままの処理 (fputs(), fflush()) です.
とりあえず入力(httpd からみると出力)を詰まらせないという意図だったんですが,
書き込みが何らかの要因で詰まると結局詰まるということになるんで,
書き込みも aio_write() にするというのは考えられますね.
あとマルチスレッド化ですが,
1. 同期I/O(=ブロックする可能性がある)処理を別スレッドにやらせる
2. 同じ処理を並列的に実行する
のいずれかであれば有効なんですが,非同期I/Oなら 1. の観点では不要となり,
一方 logbuffer は入り口も出口もそれぞれ1ヶ所ずつなので
2. のように並列化する要素もなかなか見あたらない気がします.
2010/06/30(水) 02:26:37ID:7iy0viuf0
80root▲▲ ★
2010/06/30(水) 02:27:14ID:???0 >>78
> 書き込みが何らかの要因で詰まると結局詰まるということになるんで,
> 書き込みも aio_write() にするというのは考えられますね.
おー。
ぜひぜひ。
> あとマルチスレッド化ですが,
> 1. 同期I/O(=ブロックする可能性がある)処理を別スレッドにやらせる
> 2. 同じ処理を並列的に実行する
> のいずれかであれば有効なんですが,非同期I/Oなら 1. の観点では不要となり,
> 一方 logbuffer は入り口も出口もそれぞれ1ヶ所ずつなので
> 2. のように並列化する要素もなかなか見あたらない気がします.
そうですね。非常に冷静な見解です。
bbsdやmatdで使っているマルチスレッド化とはちょっと違うかんじですか。
> 書き込みが何らかの要因で詰まると結局詰まるということになるんで,
> 書き込みも aio_write() にするというのは考えられますね.
おー。
ぜひぜひ。
> あとマルチスレッド化ですが,
> 1. 同期I/O(=ブロックする可能性がある)処理を別スレッドにやらせる
> 2. 同じ処理を並列的に実行する
> のいずれかであれば有効なんですが,非同期I/Oなら 1. の観点では不要となり,
> 一方 logbuffer は入り口も出口もそれぞれ1ヶ所ずつなので
> 2. のように並列化する要素もなかなか見あたらない気がします.
そうですね。非常に冷静な見解です。
bbsdやmatdで使っているマルチスレッド化とはちょっと違うかんじですか。
logbufferってローテート用のプログラムだから
mod_log_configに吸収させてみるとか。
mod_log_configに吸収させてみるとか。
82root▲▲ ★
2010/06/30(水) 02:56:18ID:???0 >>81
それも、ちょっと考えてました。
ただ、httpdにモノリシックに組み込んでしまうよりは、
別プロセスの方が、rtprioで柔軟に活入れできるとか、
aio(4)を使って効率化を図れるとかのメリットがあるのかも。
それも、ちょっと考えてました。
ただ、httpdにモノリシックに組み込んでしまうよりは、
別プロセスの方が、rtprioで柔軟に活入れできるとか、
aio(4)を使って効率化を図れるとかのメリットがあるのかも。
2010/06/30(水) 02:58:50ID:2BuAm1m00
バーボンは止めたまま?
84root▲▲ ★
2010/06/30(水) 03:32:26ID:???0 そんなわけで、有意義な戦いですた。
rock54やBBQ/BBMサーバの切替は、
量産型新tigerを使って、色々うまく詰め込むかんじなのかなと。
rock54やBBQ/BBMサーバの切替は、
量産型新tigerを使って、色々うまく詰め込むかんじなのかなと。
85root▲▲ ★
2010/06/30(水) 03:35:08ID:???0 で、明日もふつーに仕事なので、
そろそろねるです。
「けいおん」の盛り上がりがかわいく見える。
そろそろねるです。
「けいおん」の盛り上がりがかわいく見える。
86root▲▲ ★
2010/06/30(水) 03:45:38ID:???0 >>68
これか。
2ch特化型サーバ・ロケーション構築作戦 Part49
http://qb5.2ch.net/test/read.cgi/operate/1276953456/290
新tigerサーバの作りこみの際には、これをぜひに。>なかのひと
ということで、おやすみなさいです。
これか。
2ch特化型サーバ・ロケーション構築作戦 Part49
http://qb5.2ch.net/test/read.cgi/operate/1276953456/290
新tigerサーバの作りこみの際には、これをぜひに。>なかのひと
ということで、おやすみなさいです。
2010/06/30(水) 04:58:44ID:lAIpYbbH0
FreeBSDのバージョン上げるなら、7.2から追加された
superpagesも試してみると良いかも。
アプリによっては30%高速化するとかなんとか。
http://gihyo.jp/admin/serial/01/fb72/0001
superpagesも試してみると良いかも。
アプリによっては30%高速化するとかなんとか。
http://gihyo.jp/admin/serial/01/fb72/0001
88root▲▲ ★
2010/06/30(水) 07:22:58ID:???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略
というかんじで開発されているようです。
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略
というかんじで開発されているようです。
2010/06/30(水) 09:32:49ID:nf/QgEi30
試合前に言ってた「気分だけでも書き込めれば吸い込まれても幸せ」だけどさ
ニコニコ動画は生放送で立ち見とか席の場所とかですでにそれに近いことをやってる気がする
すなわち視聴者はみんなのコメを見てるわけでもないしコメを視聴者とか生主に見てもらえてもいない場合がある
でも叫ぶばっかりで会話が成立しないのは利用者としては結構悲しい
つことで、書き込みを吸い込ますより遅延反映とかの方がありがたい
たとえばレス番だけ確保してキタ━(゚∀゚)━ !!!!!とかで埋めておいてあとから書き換えるとか
負荷軽減なら専ブラ用にP2Pでdat取得するシステム開発とか
ニコニコ動画は生放送で立ち見とか席の場所とかですでにそれに近いことをやってる気がする
すなわち視聴者はみんなのコメを見てるわけでもないしコメを視聴者とか生主に見てもらえてもいない場合がある
でも叫ぶばっかりで会話が成立しないのは利用者としては結構悲しい
つことで、書き込みを吸い込ますより遅延反映とかの方がありがたい
たとえばレス番だけ確保してキタ━(゚∀゚)━ !!!!!とかで埋めておいてあとから書き換えるとか
負荷軽減なら専ブラ用にP2Pでdat取得するシステム開発とか
2010/06/30(水) 09:57:01ID:BDns7F+z0
>>89
P2Pは問答無用で遮断ISPがあるこの状況で…
P2Pは問答無用で遮断ISPがあるこの状況で…
2010/06/30(水) 10:00:11ID:RwFWja8W0
遮断されないISPの分軽くなれば十分じゃね
2010/06/30(水) 10:07:07ID:BmRjj8jK0
まぁ、回線が許すならSAKURAの専用サーバあたりで運営できそうだしな。本来は500kB程度のdatのやり取りだし。
2010/06/30(水) 10:07:40ID:fiugWOXf0
SSDの性能をどうにかしたいなら…やっぱりNCQかねえ。
NCQ有効化が無理なら無しでもそこそこやれる東芝あたりに乗り換えとか。
NCQ有効化が無理なら無しでもそこそこやれる東芝あたりに乗り換えとか。
2010/06/30(水) 10:08:45ID:KdtVVOTb0
P2Pとかそこまでやるなら雪だるま構成にした方が早いんじゃ
95む@出先
2010/06/30(水) 10:57:00ID:rT0kLg8K0 がらにもなく、今たまたま読んだこれに感動した。
http://kamome.2ch.net/test/read.cgi/mnewsplus/1277856323/14
14 :名無しさん@恐縮です:2010/06/30(水) 09:09:58 ID:JAUiiJLi0
「大切なのは批評家ではない。強い人間がどのようにつまづいた
かを指摘する人物、または、ある偉業をなした者について、もっと
うまくできたかどうかを分析する人物ではない。すべての功績は、
実際に闘技場にいた人物のものだ。顔を泥と汗で汚した者、勇敢
に戦った者、間違いを犯し、そこから何度も立ち上がった者、偉大
な情熱、偉大な献身を知る者、価値ある大義のために身を捧げる
者、そして、最高の結果は目標の高度な達成という勝利であり、最
悪の結果は、仮に失敗しても、少なくとも最善を尽くして失敗したの
であり、あの勝利も敗北も知らない、寒々とした臆病な魂と、同じ
場所に立つことはないと知っている者だ」
テオドア・ルーズベルト
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:45ID: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"
を、今日にでも投入しようかと。
> ・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:28ID:rT0kLg8K0 ところで、
>>78
>書き込みが何らかの要因で詰まると結局詰まるということになるんで,
>書き込みも aio_write() にするというのは考えられますね.
にからんで、
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=aio_write&dir=jpman-8.1.2%2Fman§=0
をちょっと読んでいたんですが、
これって、bbs.cgi (というかPerl)でもうまく使えたりするのかしら。
>>78
>書き込みが何らかの要因で詰まると結局詰まるということになるんで,
>書き込みも aio_write() にするというのは考えられますね.
にからんで、
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=aio_write&dir=jpman-8.1.2%2Fman§=0
をちょっと読んでいたんですが、
これって、bbs.cgi (というかPerl)でもうまく使えたりするのかしら。
98む@出先
2010/06/30(水) 12:11:56ID:rT0kLg8K0 >>97 ポイント部分を引用
> aio_write() システムコールによって、呼び出し元プロセスは iocb->aio_buf が
> 指すバッファから記述子 iocb->aio_fildes に iocb->aio_nbytes を書き込めま
> す。書み込み要求が記述子への待ち行列に入れられてしまうと、ただちに呼び出
> しは戻ります。呼び出しが戻った時点で書み込みは完了している可能性も完了し
> ていない可能性もあります。無効な引数のためなどにより要求を待ち行列に入れ
> られない場合は、呼び出しは要求を待ち行列に入れずに戻ります。
> aio_write() システムコールによって、呼び出し元プロセスは iocb->aio_buf が
> 指すバッファから記述子 iocb->aio_fildes に iocb->aio_nbytes を書き込めま
> す。書み込み要求が記述子への待ち行列に入れられてしまうと、ただちに呼び出
> しは戻ります。呼び出しが戻った時点で書み込みは完了している可能性も完了し
> ていない可能性もあります。無効な引数のためなどにより要求を待ち行列に入れ
> られない場合は、呼び出しは要求を待ち行列に入れずに戻ります。
99む@出先
2010/06/30(水) 12:23:57ID: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.
という話もあるのか。
> ここで重要なのは、追記モードで開いたファイルの場合、
> 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:56ID:rT0kLg8K0 あとは大技として、
require 'sys/syscall.ph'; して、
SYS_aio_write とかを使うというのも、考えられるかな。
これだと、モジュールの追加作業がとりあえず要らないし、
if文入れて、hayabusaとkamomeだけまずは特別処理にすることもできそうだ。
require 'sys/syscall.ph'; して、
SYS_aio_write とかを使うというのも、考えられるかな。
これだと、モジュールの追加作業がとりあえず要らないし、
if文入れて、hayabusaとkamomeだけまずは特別処理にすることもできそうだ。
101む@出先
2010/06/30(水) 12:55:09ID:rT0kLg8K02010/06/30(水) 13:36:00ID:mKN21kEm0
これ以上if文を増やしたくないって言ってなかったっけ
103む@出先
2010/06/30(水) 13:38:07ID:rT0kLg8K0 >>102
もちろんうまくいくようなら、全サーバに適用→そのif文廃止 かと。
もちろんうまくいくようなら、全サーバに適用→そのif文廃止 かと。
2010/06/30(水) 13:38:47ID:uFp/rH6k0
if文を増やしたくない理由が、負荷低減にあるんだと思うから
負荷を低減できるようなif文ならむしろ増やしたいだろうさ
負荷を低減できるようなif文ならむしろ増やしたいだろうさ
2010/06/30(水) 13:42:13ID:fFtMIKJP0
2010/06/30(水) 13:45:43ID:31aYbLwb0
ランクづけするならここでやるな
見ている人が不快になる
見ている人が不快になる
2010/06/30(水) 13:48:07ID:r2HiHSCFO
>>89
「キター」は一体感を楽しみたい方もいると思いますが
自分は審判の判定が変だと思った時「他にもそう思った人いるかな?」で実況をロムる事が多いので
やはり皆さんの書き込みは表示していただいたほうが有難いです
「キター」は一体感を楽しみたい方もいると思いますが
自分は審判の判定が変だと思った時「他にもそう思った人いるかな?」で実況をロムる事が多いので
やはり皆さんの書き込みは表示していただいたほうが有難いです
2010/06/30(水) 13:51:00ID:fFtMIKJP0
2010/06/30(水) 13:58:19ID:ZIIBrbEM0
なんだ、政治コピペかw
110ちきちーた ★
2010/06/30(水) 14:59:35ID:???0 バーボン起動 @hayabusa
2010/06/30(水) 15:17:59ID:irFItAAdP
>>46
F1イギリスGPもあるよ。これは大したことないかもだが重なるとなると
F1イギリスGPもあるよ。これは大したことないかもだが重なるとなると
2010/06/30(水) 16:35:00ID:HFBigSPb0
↓落ちた落ちたーのレスまみれー
2010/06/30(水) 16:37:08ID:ilp39dWJ0
>>110
マジか・・
マジか・・
2010/06/30(水) 16:40:45ID:T1y+z6XC0
ノ´⌒ヽ,,
γ⌒´ ヽ,
// ""⌒⌒"\ )
i / ⌒ ⌒ ヽ )
!゙ (へ)` ´(へ)i/
| /// (__人_)//| ボーナス出たお
\__ `ー'_/
/ ヽ
116む@出先
2010/06/30(水) 16:46:30ID:rT0kLg8K0 36252 root 1 -8 r23 9944K 1868K aiospn 7 0:01 0.00% logbuffer
設定されたもよりです。
確認の返事をメールで出すのが今難しいので、以下同文。>なかのひと
設定されたもよりです。
確認の返事をメールで出すのが今難しいので、以下同文。>なかのひと
117む@出先
2010/06/30(水) 16:48:33ID: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.
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:32ID:rT0kLg8K0 >>117 は昨日の「落ちていたとき」だと思われ。
システムの中の値が足りなくなったと。
これは確か「スペシャルセッティング1」で、
loader.conf の中で既に増やしていた気がするので、
システムが言ってきているとおりに値を増やすのがいいのか、
あるいはそうではないのか、まずは調べてみる方向で。
システムの中の値が足りなくなったと。
これは確か「スペシャルセッティング1」で、
loader.conf の中で既に増やしていた気がするので、
システムが言ってきているとおりに値を増やすのがいいのか、
あるいはそうではないのか、まずは調べてみる方向で。
119む@出先
2010/06/30(水) 17:00:08ID:rT0kLg8K0 デフォルトは今200で、
「スペシャルセッティング1」ではこの値を、
メモリ4GBytes用のチューニングとして、既に 2048 に増やしてあると。
で、もっと増やす必要がありそうと。
「スペシャルセッティング1」ではこの値を、
メモリ4GBytes用のチューニングとして、既に 2048 に増やしてあると。
で、もっと増やす必要がありそうと。
121む@出先
2010/06/30(水) 17:03:43ID:rT0kLg8K0 /usr/src/sys/amd64/amd64/pmap.c かな。
pmap.c は前にも読んでみた記憶があるソースだけど、
あとで改めて読んでみるか。
pmap.c は前にも読んでみた記憶があるソースだけど、
あとで改めて読んでみるか。
122む@出先
2010/06/30(水) 17:05:26ID:rT0kLg8K0 >>120
おー、あとで www2 でためしてみます。
おー、あとで www2 でためしてみます。
2010/06/30(水) 17:07:22ID:uFp/rH6k0
pv_entry_max = (shpgperproc * maxproc) + (((((availmem - 1) * 2) + 1) / pagesize) - firstpage)
でしたっけ?
でしたっけ?
124む@出先
2010/06/30(水) 17:17:52ID:rT0kLg8K0 >>120
さらっとソース diff しました。
華麗なるダブルバッファ方式、というかんじに見えますた。
昔あった edd というやつを思い出しました。とてもいいふいんき(なぜか(りゃ)にみえます。
あと、
-#define MAX_AIO_READ (2*1024*1024)
+#define MAX_AIO_READ (4*1024*1024)
というのもしぶいです。
さらっとソース diff しました。
華麗なるダブルバッファ方式、というかんじに見えますた。
昔あった edd というやつを思い出しました。とてもいいふいんき(なぜか(りゃ)にみえます。
あと、
-#define MAX_AIO_READ (2*1024*1024)
+#define MAX_AIO_READ (4*1024*1024)
というのもしぶいです。
2010/06/30(水) 17:19:54ID:j01S+nKh0
本当にhayabusaは、ギリギリ(アウト?)な場面を経験するごとに、
むむむさんが、「こんなこともあろうかと」と現れて、
対策を実装していくんだな。
なんか、実機が手元にないところも探査機に似ている。
むむむさんが、「こんなこともあろうかと」と現れて、
対策を実装していくんだな。
なんか、実機が手元にないところも探査機に似ている。
126む@出先
2010/06/30(水) 17:21:48ID:rT0kLg8K0 と思ったら、
8097 root 1 67 r23 20312K 3952K CPU1 1 1:04 100.00% logbuffer
なんか、暴走してしまった。
ログファイルもとられないな。
とりあえず元に戻した。
8097 root 1 67 r23 20312K 3952K CPU1 1 1:04 100.00% logbuffer
なんか、暴走してしまった。
ログファイルもとられないな。
とりあえず元に戻した。
2010/06/30(水) 17:31:40ID:pzW+pmP+0
129む@出先
2010/06/30(水) 17:37:45ID:rT0kLg8K0 >SunOSさん
デバッガでさらっと見てみたら、
while ( aio_read(&aiocbr) && errno == EAGAIN ) sched_yield();
ここでぐるぐるしているみたいです。
デバッガでさらっと見てみたら、
while ( aio_read(&aiocbr) && errno == EAGAIN ) sched_yield();
ここでぐるぐるしているみたいです。
130む@出先
2010/06/30(水) 17:38:36ID:rT0kLg8K0 あ、ちがうかも。
sched_yield は他にもあるのか。
もうちょっとしらべてみます。
sched_yield は他にもあるのか。
もうちょっとしらべてみます。
131む@出先
2010/06/30(水) 17:40:46ID: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
#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:55ID:rT0kLg8K0 >>129-132 どうもすみませんです.で,228行目でループということだと
aio_write() が EAGAIN でずっと失敗し続けてるということに......
なぜそうなるのか,しばらく思案してみます......
aio_write() が EAGAIN でずっと失敗し続けてるということに......
なぜそうなるのか,しばらく思案してみます......
134む@出先
2010/06/30(水) 18:02:21ID:rT0kLg8K0135む@出先
2010/06/30(水) 18:19:49ID: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);
}
(以下略)
/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:54ID: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
うーむー、まじかいな。
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:26ID:rT0kLg8K0 %sysctl vfs.aio.max_aio_queue_per_proc=1024
vfs.aio.max_aio_queue_per_proc: 256 -> 1024
わーい。うごいた。
vfs.aio.max_aio_queue_per_proc: 256 -> 1024
わーい。うごいた。
138む@出先
2010/06/30(水) 18:25:09ID:rT0kLg8K0 ということで、
・SunOSさんのコーディングには虫はいないらしい
・FreeBSD側のチューニングが必要だったらしい
ということの模様。
・SunOSさんのコーディングには虫はいないらしい
・FreeBSD側のチューニングが必要だったらしい
ということの模様。
139む@出先
2010/06/30(水) 18:26:44ID: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
もっといい結果が得られるかもしれない、ということが新たに判明。
%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 より大幅に大きかったと......
#define AIO_BUF_WRITE_NUMBER (512)
これがデフォルトの vfs.aio.max_aio_queue_per_proc より大幅に大きかったと......
141む@出先
2010/06/30(水) 18:31:02ID:rT0kLg8K02010/06/30(水) 18:37:35ID:gYFXEKAa0
なるほど、まったく分からん
143ビグレックス
2010/06/30(水) 18:40:55ID:HmDSYSbI0144む@出先
2010/06/30(水) 18:41:11ID:rT0kLg8K0 /etc/sysctl.conf @ www2 に、とりあえず、
# tuning for aio(4)
vfs.aio.max_aio_queue_per_proc=1024
を追加した。
ほかは、今時間あんまりとれないので、とりあえずあとで。
# tuning for aio(4)
vfs.aio.max_aio_queue_per_proc=1024
を追加した。
ほかは、今時間あんまりとれないので、とりあえずあとで。
2010/06/30(水) 18:44:34ID:FWBv0bM80
>>143
SUCCESS: 200 OK [逆引き不可] +1pt.
SUCCESS: 200 OK [逆引き不可] +1pt.
■ このスレッドは過去ログ倉庫に格納されています