1 :
ひろゆき@どうやら管理人 ★ :
2006/12/17(日) 13:08:47 ID:???0 BE:113292-S★(101667) read.cgiの片隅に表示されている関連キーワードを きちんとメンテナンスしてみようなスレッド。
2 :
動け動けウゴウゴ2ちゃんねる :2006/12/17(日) 13:21:13 ID:4jYrj3pWO
2get
3 :
外出中 ◆MUMUMUhnYI :2006/12/17(日) 13:40:53 ID:0jOWSCkU0
お、スレ来ましたか。 先日管理人からお誘いがきたです。 もう一人、超強力な人(仮名)が呼ばれている様子。
4 :
▲ ◆SANUKI/VII :2006/12/17(日) 13:48:55 ID:7/a4LIUQP BE:10872083-DIA(66779)
はろゆき
>>1 スレ立て乙です.
で,core 吐くのは何とかなったっぽいですが,Solaris の port_associate() / port_get() 前提に作ったのを
FreeBSD の kevent() に対応させた(つもりの)部分の動きが相変わらず怪しいと......<crawld
で,truss を使えるように(/proc をマウント?)してもらえると,デバッグがしやすいかなぁ,と......
Mozilla/5.0 (X11; U; SunOS i86pc; ja; rv:1.9a1) Gecko/20061128 Minefield/3.0a1
>>5 超強力な人だ。
これまでの経緯や進捗などについては、
帰宅後にでもここにぼちぼちと。
で、/proc を mount する作業についても、 帰宅後に進めるです。
専ブラや携帯でも習得できるといいな
9 :
root▲ ★ :2006/12/17(日) 21:20:43 ID:???0 BE:1642436-PLT(20123)
10 :
root▲ ★ :2006/12/17(日) 21:58:42 ID:???0 BE:5746379-PLT(20123)
11 :
root▲ ★ :2006/12/17(日) 22:08:50 ID:???0 BE:1641863-PLT(20123)
■ これまでにすすめたこと ・先日管理人・SunOSさん・私の3人でオフラインで会い、現在の状況の確認をしました。 (管理人が手ずからペンとスケッチブックを持ってきて、絵を描いて説明しました) ・このためのサーバを2台準備し、私がインフラ部分の基本環境を作りました。 p2.2ch.io と c2.2ch.io になります。 ・管理人が今日、このスレを立てました。 そんなわけで例によって、表でわいわいやっていくことになりました。 ・現在 SunOS さんが中身の開発をすすめているところです。 というわけでどんな構想で作っておられるか等については、 ぼちぼちとここでやっていくのがいいのかなと思います。 例によって今後進めていく作業者間の作業連絡等も、 表ででやれるところについては(パスワードとかセキュリティ関係じゃないものとか)、 ここでやっていけるといいのかなと。 こんなところで。
12 :
ひろゆき@どうやら管理人 ★ :2006/12/17(日) 22:14:23 ID:???0 BE:189465-S★(101667)
よろしくです。よろしくです。
13 :
root▲ ★ :2006/12/17(日) 22:25:03 ID:???0 BE:3648285-PLT(20123)
>>12 はい。
組むのはあまり戦力にならないので、
例によってインフラ整備系とかネットワーク系でがんがってみようかと。
あんまりガンガリ過ぎない程度にね、、、
15 :
root▲ ★ :2006/12/18(月) 15:10:27 ID:???0 BE:821333-PLT(20123)
SunOS さんからの依頼により、 [cp]2.2ch.io の libcurl を 7.16.0 に更新しました。
>>9-11 ,15 乙です.
>>12-13 よろしくです.
構想については管理人さんから大枠が示されていまして
シード: 取得する Web ページの URL を保持し,それをクローラに渡す
↓
クローラ: 渡された URL のコンテンツを取得する
↓
パーサ: コンテンツから特徴的なキーワードを抽出する
↓
インデクサ: URL とキーワードの対応テーブルを DB として保持する
フロントエンドからは,まずそのスレに対応するキーワードデータがすでに DB に存在するか調べ,
あればそのキーワードを使用し,なければシードに URL を渡して上記の処理を行う,と.
で,/proc をマウントしてもらったおかげで truss が使えるようになり,
かなりデバッグがやりやすくなりました.で,crawld(=クローラ)もだいぶ安定してきたかな.
usage: crawld [-fh] [-b host] [-d datadir] [-i interval] [-o unixfile] [-p port] [-s statfile] [-u useragent]
-b host: bind UDP socket to this host [0.0.0.0]
-d datadir: directory for fetched files [/var/crawld]
-f: run in foreground
-h: this help
-i interval: interval(sec) for a same host [3]
-o unixfile: output filenames to this unix domain socket [none]
-p port: bind UDP socket to this port [9606]
-s statfile: dump statistics to statfile on SIGUSR1 [/dev/null]
-u useragent: set User-Agent request header [none]
シードからは,crawld が待ち受けしてる UDP ポートに URL を投げ入れると,
そのページのコンテンツを取得しデータディレクトリ配下に格納します.
crawl.pl という Perl スクリプトを使えば,コマンドラインから URL を渡せます.
usage: crawl.pl URL [URL ...]
or
crawl.pl <file_of_URLs
-o オプションを使うと,取得したコンテンツが格納されているファイル名を Unix ドメインソケット経由でパーサに渡すことができます.
-i オプションのインターバルは同一ホストに対するもので,別ホストに対してはインターバル指定にかかわらず即時取得します.
2ch 限定で使う分には,とりあえずインターバルを 0 にしてもいいかもですが.
並列度は,URL をどんどん放り込めば,理論上は1プロセスあたりの fd 数の限界に達するまで増えて逝きます.
ただし,同一ホストに対するリクエストは Keep-Alive を有効利用できるように直列化されます.
んで,crawld の次はパーサになるわけですが......キーワードの妥当性チェックのために
Google に問い合わせてヒット数で判断するということが言われてるのですが,
外部のサービスに依存する形になるのはちと危うさがあるかな,という懸念が個人的には......
クローリングしたデータから自前で単語のヒット数のようなデータを蓄積するとか,
自前で完結できる形でできないかなぁ,とも......
17 :
ひろゆき@どうやら管理人 ★ :2006/12/18(月) 18:39:11 ID:???0 BE:265076-S★(101668)
自前で完結するとなると全体のデータの中の単語量を調べるってので、 なんとかなるかもかも。 でも、ある程度大きな規模のデータがないと 結果に偏りが出ると思います。
人が少ないスレ・板だと、やっぱり恥ずかしい思いをすることになるのかな。
>>17 ですねぇ.最初のうちしばらくは,キーワード表示はせず単語データ収集のためだけに動かすとか......
で,クローラをがんがん動かすことになると,バーボンに引っかからないようにしてもらった方がいいのかも.
あと,DB (MySQL) もぼちぼち立ち上げてもらった方がいいのかも.
20 :
ひろゆき@どうやら管理人 ★ :2006/12/18(月) 19:29:44 ID:???0 BE:75762-S★(101668)
全体の単語量を調べるのであれば、Ngramのsennaとか入れたほうがいいかもです。 >MySQL
21 :
root▲ ★ :2006/12/18(月) 19:38:41 ID:???0 BE:5107878-PLT(20123)
>>19 MySQL は帰宅後にでも。
# なお、私は MySQL のチューニングについてはほとんど素人です。
22 :
root▲ ★ :2006/12/18(月) 19:38:59 ID:???0 BE:3831067-PLT(20123)
23 :
ひろゆき@どうやら管理人 ★ :2006/12/18(月) 19:39:21 ID:???0 BE:152238-S★(101668)
MySQLを覚えるいい機会が出来てなによりです。 えぇえぇ。
発想が前向きですね
26 :
root▲ ★ :2006/12/18(月) 19:42:36 ID:???0 BE:1642829-PLT(20123)
27 :
root▲ ★ :2006/12/18(月) 22:24:41 ID:???0 BE:4378368-PLT(20123)
>>19 サーバは、p2/c2 どちらで上げましょうか。
>>27 そうですねぇ......とりあえず p2 の方でおながいします.
29 :
root▲ ★ :2006/12/19(火) 00:24:04 ID:???0 BE:2736656-PLT(20123)
>>28 了解です。
# ちと明日とても早いので、明日以降に。すんませんです。
試しにクローラ部分だけぶん回す実験をちょっとしてみようとか思ったりも するんですが,今 read.cgi 画面から読み込まれてる p.2ch.io のやつを p2.2ch.io に変えちゃったりしてもいいんですかね? あと,c2.2ch.io をバーボン対象から外さないと引っかかる可能性も あるかも知れないですが,外してもいいんですかね? それと......[cp]2.2ch.io には LAN セグメントは1つしかつながってないようですが, [cp]2.2ch.io 同士のやりとりのためにプライベートアドレスを論理 I/F というか alias で付与するとかは可能なんですかね......?
32 :
root▲ ★ :2006/12/19(火) 10:03:33 ID:???0 BE:2189164-PLT(20123)
>>31 > 今 read.cgi 画面から読み込まれてる p.2ch.io のやつを
> p2.2ch.io に変えちゃったりしてもいいんですかね?
様子を見ながらなら、いいんではないでしょうか。
> c2.2ch.io をバーボン対象から外さないと引っかかる可能性も
> あるかも知れないですが,外してもいいんですかね?
リロードバーボンですね。
心配要らないはず。理由は別途メールででも。
> プライベートアドレスを論理 I/F というか
> alias で付与するとかは可能なんですかね......?
できるはず。
ちょっとトライしてみます。
33 :
root▲ ★ :2006/12/19(火) 10:06:23 ID:???0 BE:821333-PLT(20123)
というか、、、。 p2 と c2 の間の通信って、多くなりそうなのかしら。 それなら 100Mbps に I/F を変更してもらったほうがいいのかなと。
>>32-33 乙です.
>リロードバーボンですね。
>心配要らないはず。理由は別途メールででも。
あ,そうだったんですか.
>p2 と c2 の間の通信って、多くなりそうなのかしら。
とりあえず思い付くものとして
・ p2 から c2 にクロールすべき URL を投げる.
・ c2 から p2 にレコード登録のための MySQL のクエリーを投げる.
これらがどの程度か,ってところですかねぇ......
35 :
root▲ ★ :2006/12/19(火) 10:15:27 ID:???0 BE:6567089-PLT(20123)
[cp]2 にプライベートアドレスを振りました。 いくつを振って、それがどのような名前で参照できるかは、 セキュリティ上ここでは書かないので、 すみませんが該当サーバの /etc/hosts あたりを見ていただけると。
36 :
root▲ ★ :2006/12/19(火) 10:18:19 ID:???0 BE:3192375-PLT(20123)
>>34 > あ,そうだったんですか.
というか、管理人が自らのためにやるもの(ブラジル等)については、
そもそもリロードバーボンの対象外にする(している)という話ですね。
> とりあえず思い付くものとして
> ...
> これらがどの程度か,ってところですかねぇ......
統計とってみるですかね。
これは別途。
39 :
ひろゆき@どうやら管理人 ★ :2006/12/19(火) 12:56:01 ID:???0 BE:397297-S★(101768)
わくわく。
40 :
root▲ ★ :2006/12/19(火) 14:50:25 ID:???0 BE:5107878-PLT(20123)
おぉ。はじまっている。 crawld を自動起動するしかけ等が必要になったら、 ここでお知らせくださいです。
>>39-40 ども.まぁ今は getf.cgi に渡された URL を単純に
(dat の URL に変換した上で)crawld に投げてるだけなんですが,
----------------------------------------------------------------------
last pid: 74880; load averages: 0.02, 0.06, 0.04 up 15+18:27:52 15:22:53
170 processes: 1 running, 169 sleeping
CPU states: 0.2% user, 0.0% nice, 0.5% system, 0.2% interrupt, 99.2% idle
Mem: 64M Active, 1659M Inact, 196M Wired, 81M Cache, 112M Buf, 2996K Free
Swap: 2048M Total, 2048M Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
74627 c22chio 1 4 0 5452K 4120K kqread 0 5:37 4.54% crawld
----------------------------------------------------------------------
CPU の能力的には余裕っぽいですね.ただ,
----------------------------------------------------------------------
[crawld statistics] Tue, 19 Dec 2006 14:04:38.945 (JST)
user CPU time = 0:00:11.052, system CPU time = 0:00:33.811
elapsed time = 0:13:18.542, CPU load = 5.62%
total workers = 8, idle workers = 0
minor page faults = 3656, major page faults = 0, swaps = 0
block inputs = 3837, block outputs = 3329
messages sent = 28359, messages received = 691574
signals = 5, vol ctx switches = 664364, invol ctx switches = 60839
URLs: input = 55614, done = 25802, error = 1445
----------------------------------------------------------------------
[crawld statistics] Tue, 19 Dec 2006 15:23:19.866 (JST)
user CPU time = 0:01:25.717, system CPU time = 0:04:12.259
elapsed time = 1:31:59.462, CPU load = 6.12%
total workers = 8, idle workers = 0
minor page faults = 63546, major page faults = 0, swaps = 0
block inputs = 111588, block outputs = 17339
messages sent = 385824, messages received = 3511819
signals = 7, vol ctx switches = 3126563, invol ctx switches = 500464
URLs: input = 376259, done = 355261, error = 20952
----------------------------------------------------------------------
動かし始めの dat をガンガン転送してる時は URL の input に対し
done が追い付いてない感じ,一方ずっと動かしてて重複した URL への
304 レスポンスが増えてくると差が縮まって追い付いてきてる感じかなぁ.
これを見ると,ネックはネットワーク帯域?
42 :
root▲ ★ :2006/12/19(火) 15:31:38 ID:???0 BE:1915373-PLT(20123)
>>41 > これを見ると,ネックはネットワーク帯域?
まずは計測してみるです。
そのうえで、次の手を。
いつの間にか p2 が p に戻ってたんですが......重かったからかな? まぁ,c2 が涼しい顔してた一方で p2 は忙しそうでしたが...... getf.cgi はとりあえず SpeedyCGI で書いてたんですが, DSO にした方がいいのかなぁ......
44 :
root▲ ★ :2006/12/19(火) 19:36:30 ID:???0 BE:2736656-PLT(20123)
>>43 > いつの間にか p2 が p に戻ってたんですが......重かったからかな?
きっと、あっちの繁盛しているスレの作業と、
更新作業がバッティングしたんではないかと。
で、とりあえずトラフィックと httpd へのアクセス数をとりはじめてみた。
http://mumumu.mu/mrtgi/
>>44 あ,じゃあ誰かが意図的に戻したんじゃなかったんですね.
じゃあちょろさんにお願いすればいいのか.
>で、とりあえずトラフィックと httpd へのアクセス数をとりはじめてみた。
乙です.
46 :
root▲ ★ :2006/12/19(火) 19:50:09 ID:???0 BE:1641863-PLT(20123)
>>45 しばらくはあのスレあたりで「read.cgi 更新しますけどOKでしょうか」とか、
「更新しました」みたいなことをすればいいと思いますです。
今は絶賛上映中みたいなので、幕間にでも。
47 :
root▲ ★ :2006/12/19(火) 19:50:59 ID:???0 BE:5837388-PLT(20123)
> じゃあちょろさんにお願いすればいいのか. 作業がバッティングしないのであれば、 更新はたんたんとやってしまってよいと思われ。
48 :
動け動けウゴウゴ2ちゃんねる :2006/12/19(火) 19:51:45 ID:FsmnSRUQ0
49 :
root▲ ★ :2006/12/19(火) 19:54:49 ID:???0 BE:2553874-PLT(20123)
それで、PHP は少なくとも今は使わないかんじみたいなので (SunOS さんからによると)、 とりあえず、はずしておきます。< [pc]2.2ch.io # PHP + eAccelerator なので、メモリをかなり食っているため。
>>46-47 今は,目下 dso でちょろさんらしき人がリアルタイムで
read.cgi の書き換え作業中のようですね.しばらく待ちますか......
>>49 とりあえずそれでいいと思います.
さて,p2 に戻すことができますた.ついでにテストのため時間制限も外してみた,とw
52 :
root▲ ★ :2006/12/19(火) 20:27:08 ID:???0 BE:1916137-PLT(20123)
-M8 を -M32 ぐらいにしてもいいかも。 で、PHP はずして楽になったので、 httpd の数をもう少し増やしておきます。 < p2.2ch.io
53 :
root▲ ★ :2006/12/19(火) 20:31:24 ID:???0 BE:5837388-PLT(20123)
ちと、p2 の httpd とめます。
>>52 乙です.
>-M8 を -M32 ぐらいにしてもいいかも。
そうしてみますた.
55 :
root▲ ★ :2006/12/19(火) 20:34:00 ID:???0 BE:1916137-PLT(20123)
再挑戦。 SuExec はずした。
56 :
root▲ ★ :2006/12/19(火) 20:35:06 ID:???0 BE:547632-PLT(20123)
落ち着いたかな。 これだけアクセスが多いと、suexec のオーバーヘッドがばかにできないですね。
>>55-56 乙です.まぁ PHP なしなら worker MPM にするってのもありでしょうし.
58 :
root▲ ★ :2006/12/19(火) 20:38:24 ID:???0 BE:547632-PLT(20123)
>>57 今は dso から配ったやつ全部なんでしたっけ。
雪だるまとか news4vip とかはまだと。
>>58 配布は dso 上でしかやってませんです.
60 :
root▲ ★ :2006/12/19(火) 20:42:13 ID:???0 BE:5107687-PLT(20123)
61 :
root▲ ★ :2006/12/19(火) 20:54:48 ID:???0 BE:1641492-PLT(20123)
きついかも、、、。 KeepAlive Off にしてみた。
ちょっと鯖名による選別も外してみますたが,かなり苦しそうだったのでそれは戻しますた......
63 :
root▲ ★ :2006/12/19(火) 20:59:06 ID:???0 BE:365322-PLT(20123)
kern.ipc.maxpipekva exceeded; see tuning(7) kern.ipc.maxpipekva exceeded; see tuning(7) kern.ipc.maxpipekva exceeded; see tuning(7) ... と出ているですね。 できる範囲で、ちと大きくします。
64 :
root▲ ★ :2006/12/19(火) 21:02:39 ID:???0 BE:5837388-PLT(20123)
kern.ipc.maxpipekva=41943040 にしようかと思いましたが、ちょっと怖いですね。 メモリ4Gのサーバでは実績ありますが(雪だるまtiger/cobra)、 それ以外ではやったことがあったかどうか。
>>63-64 乙です.しかし,p2 は httpd だけで苦しいとなると,DB 鯖は独立させた方がいいかもですね.
c2 は c2 でパーサが重くなりそうだし.あと,c2 のトラフィック見ると
やはり 10M 近辺で張り付いてますね......
66 :
root▲ ★ :2006/12/19(火) 21:07:31 ID:???0 BE:1368353-PLT(20123)
これは、大変ですね。 ちょっとオフラインになるので、いったん撤退に一票かな。 SpeedyCGI でももたないと。
67 :
root▲ ★ :2006/12/19(火) 21:10:01 ID:???0 BE:1095326-PLT(20123)
というか管理人からは「どこまでいけるかを見極める」ことも目的だから、
いきなりほぼ全サーバに敷衍して負けだった、ということがわかった、
ということなのかなと。
で、
>>65 にもありますが、可能であればデータリングは
100Mbps にしてもらったほうがよさそうなかんじですね。
# もう少ししたら、ちとオフライン。
>>66 時間制限も復活させました.で,今の時間は一休み,と......
69 :
root▲ ★ :2006/12/19(火) 21:11:46 ID:???0 BE:3830876-PLT(20123)
で、p2 の httpd が売り切れにならないように、 起動されるやつをできるだけ軽く、コンパクトにするかんじかなと。
>>69 ですかね,ともあれ乙ですた.
とりあえずわかったことは
・ p2 の httpd を何とかしなければ......
・ NIC のスピードも 100Mbps にしないと......
・ crawld 自体は能力的にはまずまず,か......
71 :
root▲ ★ :2006/12/19(火) 22:23:17 ID:???0 BE:1824645-PLT(20200)
>>70 SunOSさんもおつでした。
> ・ p2 の httpd を何とかしなければ......
どんなかんじですかね。
- SpeedyCGI => dso
- いずれにしても
>>69 > ・ NIC のスピードも 100Mbps にしないと......
これは、依頼するかんじで。
> ・ crawld 自体は能力的にはまずまず,か......
いつもながら、さすがですね。
72 :
ひろゆき@どうやら管理人 ★ :2006/12/20(水) 03:40:13 ID:???0 BE:126454-S★(101769)
lighthttpdとspeedyとかだとどうなんすかね。
74 :
root▲ ★ :2006/12/20(水) 08:54:31 ID:???0 BE:5107878-PLT(20200)
>>72 今回のは CGI の、かつ fork/exec の負荷のようですね。
つまり、
>>73 > 静的ファイル + DSO が
> 多くを占めるか SpeedyCGI が多くを占めるか,というのが違いのようで.
なので、
> mod_speedycgi というのも1つの選択肢かなぁ(ただし worker MPM だとダメですが).
にするというのは、効果ありかも。
75 :
root▲ ★ :2006/12/20(水) 09:04:11 ID:???0 BE:1824645-PLT(20200)
# for mod_speedycgi <IfModule speedycgi_module> <Files むぎゅ> SetHandler speedycgi-script </Files> </IfModule> にしてみた。
76 :
root▲ ★ :2006/12/20(水) 09:05:37 ID:???0 BE:1095326-PLT(20200)
>>75 なんとなく、問題なさげ。
CPU idle time が増えたっぽいかな。
77 :
root▲ ★ :2006/12/20(水) 09:14:14 ID:???0 BE:1916137-PLT(20200)
あと、10Mbps => 100Mbps の作業中は、 当然サーバ落ちますが、その間 read.cgi の動作に影響ないのかしら。 あるなら、その間は一時的にはずす必要あり?
>>75-76 乙です.
>>77 <iframe> の中身が読めないだけで,read.cgi 出力の表示そのものは可能ですね.
ただ,その <iframe> の読み込みが終わらない状態が続くとウザいと感じる利用者は
いるかも知れませんが......
79 :
root▲ ★ :2006/12/20(水) 09:22:07 ID:???0 BE:3831067-PLT(20200)
>>78 > <iframe> の中身が読めないだけで,read.cgi 出力の表示そのものは可能ですね.
…であれば、NIC の速度を変えるぐらいの作業なら
そのまま動かしてもとりあえず問題なさげですね。
80 :
ひろゆき@どうやら管理人 ★ :2006/12/20(水) 12:38:09 ID:???0 BE:76234-S★(101769)
あいあい
81 :
root▲ ★ :2006/12/20(水) 12:55:47 ID:???0 BE:1460328-PLT(20200)
>>80 作業依頼を出せと、、、。
そんなわけで、こちらはたんたんと。
82 :
root▲ ★ :2006/12/20(水) 14:41:44 ID:???0 BE:3284249-PLT(20200)
今、トラフィック的に「フルスペック」なんでしたっけ。 もしそうなら、まずは 10Mbps で動かしてみて、 どうなるのか見てみようかなと。
まぁ,ともあれ mod_speedycgi は今のところかなり効果あるっぽいですね. 昨日の今頃の時間は Load Avg. 軽く二桁超えてましたが,今は1未満ですし<p2
1日強程度動かしただけで,もう /home 半分近く消費してますね. まぁ単にテストで動かしてるだけなんで,頃合い見計らってごっそり消してもいいんですが. Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/amrd0s1g 23793186 10653300 11236432 49% /home
昨晩に比べると p2 はかなり余裕っぽいんで,また時間制限と鯖名選別を外してみますた. 外す前 Load Avg. は 1 未満だったのが 2〜3 台ぐらいになってますが,昨晩のように 破綻寸前なんてことはなく,十分捌ききれる範囲って感じしますね. ちなみに c2 の方は 0.1〜0.2 前後.トラフィックは急に跳ね上がって, また 10 Mbps の天井に抑え付けられてるようで.URL をキューイングするため プロセスサイズは肥大化してきてますね<crawld 現在 36 MB ぐらいですが, 増加のペースは結構速い...... GB 単位とかになったりしてw
88 :
root▲▲ ★ :2006/12/21(木) 09:18:10 ID:???0 BE:1094843-PLT(20202)
>>87 cgi 起動数が多い場合には、
CGIモード→Apacheモジュールモード への変更の効果は絶大みたいですね。
> Apache 2.2 の鯖の分は live22(というか live24b)から配布でいいんですかね?
live24b になります。
既に配布リストは更新しました。
ソースを dso からコピーして、コンパイル・配布すれば OK です。
あ、そか。
雪だるまフロントに例の /i を作らないといけないかも。
89 :
root▲▲ ★ :2006/12/21(木) 09:20:31 ID:???0 BE:2188883-PLT(20202)
>>88 雪だるまでの read.cgi の配布の前に、
かっこいいおにいさんに確認したほうがいいかもです。
これをやると、雪だるまでもおすすめなんたらが有効になるような気がするので。
90 :
root▲▲ ★ :2006/12/21(木) 09:25:14 ID:???0 BE:5745997-PLT(20202)
>>87 > c2 のトラフィックは意外と早く天井から離れてる......
> ずっと動かし続けてれば 304 レスポンスが増えてくるからかな.
ふむ、、、。100Mbps にすれば解決できそうですかね。
> crawld のプロセスサイズは 359MB になってますがw
trim するようなしくみとかはある(or 入れる予定)のかしら。
>>88 >cgi 起動数が多い場合には、
>CGIモード→Apacheモジュールモード への変更の効果は絶大みたいですね。
ですね.
>>89 ですね,そうする時には......
>>90 >ふむ、、、。100Mbps にすれば解決できそうですかね。
ですかねぇ......というか
dev.em.0.%desc: Intel(R) PRO/1000 Network Connection Version - 6.2.9
ってことは......1Gbps とかも可能だったり?
# まぁスイッチとかも対応してないとしょうがないでしょうけど.
>trim するようなしくみとかはある(or 入れる予定)のかしら。
使い終わった URL キューは順次 free() するようになってるんですが......
と思って見てみたら......渡された URL を全部捌き切ってないから残ってることが判明.
今は試しに p2 から URL 投げるのをやめさせてるんですが,
http://mumumu.mu/mrtgi/mrtg-rrd.cgi/traffic/ 波形に多少乱れはあるものの,c2 のトラフィックは URL 投げるのをやめる前と
さほど大きくは変わらない感じですねぇ(以下のように URL の input は変わらず
done は増えてます).これをどう解釈すべきか......
ユーザの活動が活発な時間帯は 200 レスポンスが多く,静かな時間帯は
304 レスポンスが多くなる.で,304 レスポンスの場合パケットサイズが
小さくなるので見かけ上のトラフィックは減少する,しかし実際には
ネットワーク帯域の天井に抑え付けられてる状態には変わりない.
という仮説を考えたりしましたが,さて......
----------------------------------------------------------------------
[crawld statistics] Thu, 21 Dec 2006 14:56:22.909 (JST)
user CPU time = 0:40:40.122, system CPU time = 1:47:09.506
elapsed time = 49:05:02.506, CPU load = 5.02%
total workers = 23, idle workers = 3
minor page faults = 494840, major page faults = 1, swaps = 0
block inputs = 4778572, block outputs = 358959
messages sent = 10089189, messages received = 58823961
signals = 23, vol ctx switches = 35525493, invol ctx switches = 7880999
URLs: input = 16004864, done = 9374851, error = 539962
----------------------------------------------------------------------
[crawld statistics] Thu, 21 Dec 2006 15:21:15.910 (JST)
user CPU time = 0:41:39.791, system CPU time = 1:48:28.385
elapsed time = 49:29:55.507, CPU load = 5.06%
total workers = 23, idle workers = 2
minor page faults = 495776, major page faults = 1, swaps = 0
block inputs = 4848821, block outputs = 363356
messages sent = 10214877, messages received = 59170017
signals = 24, vol ctx switches = 35671856, invol ctx switches = 8000494
URLs: input = 16004864, done = 9492604, error = 546602
92 :
ひろゆき@どうやら管理人 ★ :2006/12/22(金) 00:18:33 ID:???0 BE:265267-S★(101770)
URLs: input = 16004864, done = 9492604, error = 546602 49時間でってことですか?
>>92 そういうことですね.ただ,10 Mbps の天井に抑え付けられたゆえ
input に done が追い付いてないという可能性が高いので,
NIC 速度が速ければ input と done の差はもっと縮まりそうな気がします.
で,昨日 14 時ぐらいから crawld に URL 投げるのをやめていて,
crawld 内部にため込んだキューの URL を黙々と処理している,つまり
p2 の getf.cgi 呼び出し数と c2 のトラフィックは直接関係ないはずですが
http://mumumu.mu/mrtgi/mrtg-rrd.cgi/traffic/ 振幅こそ小さいものの c2 のトラフィックは p2 の波形と相似してますね.
これは,やはり
>>91 の仮説は合っているということなのかも......
94 :
ひろゆき@どうやら管理人 ★ :2006/12/22(金) 01:36:50 ID:???0 BE:265267-S★(101770)
NIC速度っていつ変わるんでしたっけ?
>>94 いつでしょうね......
で,やっと処理し終えたようで (16004864 == 14898974 + 1105890).
----------------------------------------------------------------------
[crawld statistics] Fri, 22 Dec 2006 07:37:46.952 (JST)
user CPU time = 1:02:36.154, system CPU time = 2:36:48.069
elapsed time = 65:46:26.549, CPU load = 5.56%
total workers = 0, idle workers = 0
minor page faults = 513650, major page faults = 1, swaps = 0
block inputs = 7291510, block outputs = 500784
messages sent = 16230355, messages received = 74098823
signals = 28, vol ctx switches = 45133077, invol ctx switches = 12898923
URLs: input = 16004864, done = 14898974, error = 1105890
----------------------------------------------------------------------
しかし,これもまた......いったんごっそり消しておこうw
----------------------------------------------------------------------
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/amrd0s1g 23793186 20773904 1115828 95% /home
----------------------------------------------------------------------
96 :
root▲▲ ★ :2006/12/22(金) 08:51:39 ID:???0 BE:1641863-PLT(20202)
>>94 >>82 の結果「やはり10MBpsではそこの部分が障害となる」ことがわかったので、
私のほうからメールで、以下のオーダー出しておくです。
1) 10Mbps→100Mbpsへの変更
2) p2.2ch.io ⇔ c2.2ch.io 間のクロスケーブルでの直結
97 :
root▲▲ ★ :2006/12/22(金) 08:52:15 ID:???0 BE:2736656-PLT(20202)
98 :
root▲▲ ★ :2006/12/22(金) 18:07:04 ID:???0 BE:1368353-PLT(20202)
>>94 ・通信速度のアップグレード
・p2.2ch.io と c2.2ch.io の間の直結(2nd I/F 使用)
を、今メールでお願いしました。
次にリブートすると設定が変わるように /etc/rc.conf を設定して、
スイッチの設定変えたらサーバリセットしてかまわない、
と伝えました。。
99 :
root▲▲ ★ :2006/12/22(金) 18:13:32 ID:???0 BE:2462393-PLT(20202)
>>98 × 次にリブートすると設定が変わるように /etc/rc.conf を設定して、
○ 次にリブートすると設定が変わるように /etc/rc.conf を設定してあるので、
あけましておめでとうございます.本年もよろしくです. さて,まだ 10Mbps のままなんですが,とりあえず試運転ってことでパーサも含め動かし始めてます. # MeCab / MySQL は,とりあえずホームディレクトリに突っ込んでます. しかし,予想通りパーサ,特に MeCab での単語切り分け処理が重いようですね. ---------------------------------------------------------------------- last pid: 80257; load averages: 3.70, 3.92, 3.83 up 28+04:11:24 01:06:25 1375 processes:18 running, 1356 sleeping, 1 lock CPU states: 77.7% user, 0.0% nice, 7.5% system, 1.5% interrupt, 13.3% idle Mem: 666M Active, 916M Inact, 312M Wired, 105M Cache, 112M Buf, 4216K Free Swap: 2048M Total, 132K Used, 2048M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 80076 c22chio 1 123 0 78644K 56276K RUN 2 42:24 76.51% perl5.8.8 80077 c22chio 1 120 0 77952K 43544K RUN 0 41:00 63.33% perl5.8.8 80079 c22chio 1 117 0 78168K 49140K CPU3 3 41:25 63.18% perl5.8.8 80078 c22chio 1 115 0 79636K 48336K CPU1 0 41:39 54.00% perl5.8.8 80093 c22chio 1 -16 0 11416K 10124K wdrain 1 9:11 13.43% crawld 67240 c22chio 45 4 0 317M 286M RUN 2 195:25 7.76% mysqld ---------------------------------------------------------------------- perl5.8.8 ってのがパーサなんですが,CPU 4 つなのでプロセス数も 4 にしてます. あと,フロント側はこんな感じ.LA の数値は劇的に高いってほどでもないんですが, getf.cgi の取得で引っかかり感があるかな,と...... ---------------------------------------------------------------------- last pid: 40422; load averages: 2.79, 3.33, 3.66 up 28+06:03:16 01:08:11 1345 processes:26 running, 1319 sleeping CPU states: % user, % nice, % system, % interrupt, % idle Mem: 546M Active, 271M Inact, 372M Wired, 5652K Cache, 112M Buf, 807M Free Swap: 2048M Total, 432K Used, 2047M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 40421 p22chio 1 97 0 5560K 4168K select 1 0:00 3.08% speedy_backen 40419 p22chio 1 97 0 5496K 4248K select 3 0:00 2.42% speedy_backen 40417 p22chio 1 96 0 5640K 4432K select 2 0:00 1.88% speedy_backen 40420 p22chio 1 4 0 5500K 4224K sbwait 0 0:00 1.88% speedy_backen 40415 p22chio 1 4 0 6048K 4628K sbwait 3 0:00 1.86% speedy_backen 40418 p22chio 1 96 0 5640K 4468K RUN 0 0:00 1.75% speedy_backen 40403 p22chio 1 96 0 6804K 5524K select 3 0:01 1.55% speedy_backen ----------------------------------------------------------------------
関連キーワードをおすすめ2ちゃんねるみたいにCGIを叩かずに取得できるようにして欲しい。 スレの話題が分かりやすくて便利なので。
>>102 read.cgi に直接組み込むってことですか? そうすると read.cgi 自体が重くなる要因になるような......
# p2.2ch.io が重くなっても read.cgi の表示そのものに影響を与えないように今の形になってるんで......
>>104 http://p2.2ch.io/getf.cgi? http://qb5.2ch.net/test/read.cgi/operate/1166328527/ とかじゃダメなんですかね?
それはともかく,表示用キーワード抽出を始める前にあらかじめ約26万 URL 分のデータを蓄積してから開始したわけですが
mysql> SELECT COUNT(*) FROM urls;
+----------+
| COUNT(*) |
+----------+
| 377699 |
+----------+
結構たまってきたかな.表示用キーワードが抽出されてない URL 数は
mysql> SELECT COUNT(*) FROM urls LEFT JOIN dispwords ON urls.id = dispwords.url_id WHERE dispwords.url_id IS NULL;
+----------+
| COUNT(*) |
+----------+
| 147607 |
+----------+
まで減ってきてるんで,約23万 URL 分のキーワードを抽出した,と......
パーサは相変わらずフル回転ですがw
last pid: 86427; load averages: 3.71, 3.81, 3.76 up 29+13:01:16 09:56:17
1376 processes:7 running, 1369 sleeping
CPU states: % user, % nice, % system, % interrupt, % idle
Mem: 859M Active, 743M Inact, 313M Wired, 84M Cache, 112M Buf, 3416K Free
Swap: 2048M Total, 60K Used, 2048M Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
83069 c22chio 1 121 0 128M 98076K CPU3 3 564:41 75.68% perl5.8.8
83068 c22chio 1 123 0 128M 100M RUN 0 565:13 75.20% perl5.8.8
83070 c22chio 1 121 0 129M 104M RUN 2 563:53 71.78% perl5.8.8
83067 c22chio 1 118 0 126M 92476K RUN 0 565:14 67.97% perl5.8.8
67240 c22chio 46 96 0 317M 288M RUN 0 714:55 12.55% mysqld
80093 c22chio 1 4 0 7772K 6532K kqread 0 189:24 5.57% crawld
2chブラウザに関連キーワードを組み込むときに、毎回CGIを叩くのは負荷がかかりそう。 別にいいなら今の仕様でもいいんだけど。
iframe が height=15 だと 3pix ほど足りなくて下のほうが欠けています(firefox2@win) height=18 程度に増やすか、文字を小さくしてもらえないでしょうか?
109 :
ひろゆき@どうやら管理人 ★ :2007/01/02(火) 16:45:40 ID:???0 BE:158055-S★(101778)
>>106 read.cgiに負荷をかけるよりはマシかと。
>>106 内部的に登録されているキーワードは最大10なんですが,
そのうち7つをランダム表示するような仕様になってます.
通常なら,個人的には Last-Modified 吐き + mod_cache 利用推進論者なんですが,
キャッシュさせるとランダム表示ができなくなるというのがネックですね.
ただ,CGI 側で MySQL のクエリー結果をキャッシュするようにはなってます.
# もっとも,そのキャッシュはプロセス単位なんですよね.今は -M32 になってますが,
# これを減らした方がキャッシュヒット率は向上するかと思うんですが,さて......
あと,getf.cgi で一番重い処理はその MySQL へのクエリー部分で,
それ以外は単純に結果を吐くだけなんで,304 レスポンスを返すようにしても
大して変わらないんじゃないかという感じではあるんで(304 レスポンスを
返すとすると,mtime と If-Modified-Since の比較処理も Perl でやることになるし).
>>107 (X)HTML 的には,<a> タグの href 属性中の & は,本来 & のように
エスケープすべきものなんです(例えば CGI のパラメータで lt とか gt なんてのが
あったらどうなるか......と考えればわかるかと).
>>108 font-size: 13px; にしますた.
10個全部表示しちゃえばいいのに
いつの間にか,雪だるまや ex17 などの read.cgi も p2.2ch.io の方を読み込んでますね.
ってことは,時間制限なしで 2ch 全鯖対象にしても,少なくとも Load Avg. 的には破綻せず処理できてる,と.
11:38PM up 30 days, 4:33, 1 user, load averages: 2.49, 3.16, 3.20 @c2.2ch.io
11:39PM up 30 days, 4:34, 1 user, load averages: 2.66, 3.15, 3.19 @p2.2ch.io
キーワードが蓄積されるに伴い,クローラはあまりファイルを取得しに逝かなくなるので
c2 のトラフィックは減ってきてますが,逆にキーワードを表示する p2 のトラフィックは増えてますね.
http://mumumu.mu/mrtgi/mrtg-rrd.cgi/traffic/
114 :
ひろゆき@どうやら管理人 ★ :2007/01/03(水) 22:17:55 ID:???0 BE:283695-S★(102231)
10個全部を吐くようにして、 javascript側でランダム表示にしちゃうとか。
そもそも、たかが10個のうち7個をランダムで表示する必要があるのだろうか。 100個あるならともかく。
116 :
ひろゆき@どうやら管理人 ★ :2007/01/03(水) 23:53:05 ID:???0 BE:202548-S★(102231)
表示できる文字数の問題だったり。
117 :
動け動けウゴウゴ2ちゃんねる :2007/01/03(水) 23:55:20 ID:Dn3KZWNbO
テスト
118 :
root▲▲ ★ :2007/01/04(木) 10:49:20 ID:???0 BE:729942-PLT(22223)
今年もよろしくお願いいたします。 まずは、MySQL のインストールからですね。 普通に 5.x を入れればいいのかしら。 何か特別な設定が必要な場合、ここで教えてくださいです。
119 :
root▲▲ ★ :2007/01/04(木) 10:51:03 ID:???0 BE:4469377-PLT(22223)
で、10Mbps → 100Mbps ですが、 どうも依頼がうまく受け付けられていないようなので、 メールでたんたんと依頼(催促)するということで。
120 :
ひろゆき@どうやら管理人 ★ :2007/01/04(木) 16:07:14 ID:???0 BE:63825-S★(102231)
5.xの最新のものをいれてくださいー。
121 :
root▲▲ ★ :2007/01/04(木) 16:34:41 ID:???0 BE:1094843-PLT(22223)
>>120 了解です。それで。
まずは、mecab-0.93 を入れました。
MySQL は本日帰宅後にでも。
122 :
ひろゆき@どうやら管理人 ★ :2007/01/04(木) 16:40:11 ID:???0 BE:340496-S★(102231)
tf-idfを2chDB自体を使ってやるとすると、 sennaは必須になりますね。。と。
今年ひろゆき創めてみたわ
124 :
root▲▲ ★ :2007/01/04(木) 16:49:00 ID:???0 BE:1642829-PLT(22223)
>>114 HTML モード(鯖側でランダム表示・Last-Modified なし):
http://p2.2ch.io/getf.cgi? http://qb5.2ch.net/test/read.cgi/operate/1166328527/ JavaScript モード(クライアント側でランダム表示・Last-Modified あり):
http://p2.2ch.io/getf.cgi?qb5.2ch.net+operate+1166328527 で,とりあえず read.js では JavaScript モードの方を使ってます.
>>118-119 こちらこそよろしくです.で,入れてもらうのは MeCab と MySQL ですね.留意事項ですが
* mecab-0.93
* mecab-perl-0.93
* mecab-ipadic-2.7.0-20060707
MeCab はデフォルトでは EUC-JP を使うのですが,Shift JIS を使うようにビルドして下さい.
その場合,ports だとどうだかわかりませんが,少なくともオリジナル版だと configure 時に
CPPFLAGS=-I/usr/local/include LDFLAGS='-L/usr/local/lib -R/usr/local/lib' を
指定しないと libiconv の存在を認識してくれないので,Shift JIS の辞書を作れません.
で,辞書 (mecab-ipadic) の configure 時に --with-charset=sjis を指定してもらう,と.
* mysql-5.0.27
設定ファイル (my.cnf) は,現在 my-large.cnf をベースにして
[mysqld] のセクションに以下の設定を追加しています.
bind-address = private_address_of_c2.2ch.io
character-set-server = cp932
collation-server = cp932_bin
あと,レプリケーションとかやらなければバイナリログなしでいいのかな.
少なくとも,今のところ MySQL は分散処理とか考えなきゃならんほど重くないですし.
バイナリログなしなら
log-bin=mysql-bin
の行はコメントアウトで.
# バイナリログのサイズもバカにならないんで......
# -rw-rw---- 1 c22chio ch2 1073742810 1 1 12:57 mysql-bin.000001
# -rw-rw---- 1 c22chio ch2 1073741960 1 3 10:33 mysql-bin.000002
# -rw-rw---- 1 c22chio ch2 830519196 1 4 16:56 mysql-bin.000003
あと,すでにこんだけ容量食ってるんで,データディレクトリは /home 配下に作らないと入らないと思います......
654 data/mysql
2 data/test
3136188 data/keywords
6068946 data
126 :
root▲▲ ★ :2007/01/04(木) 17:04:31 ID:???0 BE:4104959-PLT(22223)
>>125 > MeCab はデフォルトでは EUC-JP を使うのですが,Shift JIS を使うようにビルドして下さい.
おぉ、なるほど。
入れなおしっすね。senna もそうかな。
では、そのように。
* DBD-mysql-4.00
元々 3.0008 が入ってたんですが,いくつか問題があったので自分で入れた 4.00(+ 若干修正)を使ってます.
・ server side prepare を有効にしていると LOAD DATA INFILE が使えない(3.0008 での問題,4.00 は Ok).
・ server side prepare を有効にしかつ SQL 文中で placeholders を使うと,
2回目以降の execute() で SIGSEGV になる(4.00 でも存在する問題,自分で修正).
・ CALL ステートメント(stored procedure の呼び出し)で server side prepare が無効にされてしまう(これも自分で修正).
まぁ,修正といっても微々たるもんですが.
--- DBD-mysql-4.00/dbdimp.c Sun Dec 24 23:04:59 2006
+++ DBD-mysql-4.00/dbdimp.c Sun Dec 31 18:30:00 2006
@@ -2485,2 +2485,3 @@
+#if 0
if ( (tolower(*(str_ptr + 0)) == 'c') &&
@@ -2495,2 +2496,3 @@
}
+#endif
@@ -3766,2 +3768,3 @@
}
+#if 0
/* clean up other statement allocations */
@@ -3779,2 +3782,3 @@
num_fields= DBIc_NUM_FIELDS(imp_sth);
+#endif
あと,c2 の方でも httpd がたくさん立ち上がってるんですが,
こっちは必要最低限の数だけでいいような......
>>122 ん〜と,以前そう言われたことがあってそうしなきゃならんのかなぁ,
と思いつつ考えてたんですが,Senna って全文検索エンジンですよね.
使うとすれば,ドキュメント全体を MySQL に入れるってことでしょうか?
今のやり方は,表示用キーワードとは別に DF 計算用の単語も
登録してるんですが,ドキュメント全体ではなく切り出した単語を
個別に登録してまして,全文検索は行ってません.っていうか,
ドキュメント全体を登録してると HDD 容量が半端ないぐらい必要になるような......
128 :
ひろゆき@どうやら管理人 ★ :2007/01/04(木) 20:23:23 ID:???0 BE:38232-S★(102333)
DF 計算用の単語の切り出し方によると思いますが、 母集団を反映してる標本なら、 それでもいいと思いますー。
>>128 今は,各 URL ごとに TF が上位 200 までの単語を登録してます.
仕組み的には,この数をもっと増やすことも不可能ではありませんが,
HDD 消費量やパフォーマンスなどとのバランスを考えるとこのぐらいかなぁ,と......
mysql> SELECT (SELECT COUNT(*) FROM urls) 'URL 総数', (SELECT COUNT(*) FROM words) '単語総数', (SELECT COUNT(*) FROM regwords) 'DF 計算用単語の URL との関連付け総数', (SELECT COUNT(*) FROM dispwords) '表示用単語の URL との関連付け総数';
+----------+----------+--------------------------------------+-----------------------------------+
| URL 総数 | 単語総数 | DF 計算用単語の URL との関連付け総数 | 表示用単語の URL との関連付け総数 |
+----------+----------+--------------------------------------+-----------------------------------+
| 465918 | 1064955 | 73515988 | 4320516 |
+----------+----------+--------------------------------------+-----------------------------------+
-rw-rw---- 1 c22chio ch2 108017350 1 4 22:14 dispwords.MYD
-rw-rw---- 1 c22chio ch2 75264000 1 4 22:14 dispwords.MYI
-rw-rw---- 1 c22chio ch2 8632 1 1 20:13 dispwords.frm
-rw-rw---- 1 c22chio ch2 1604234751 1 4 22:14 regwords.MYD
-rw-rw---- 1 c22chio ch2 1312161792 1 4 22:14 regwords.MYI
-rw-rw---- 1 c22chio ch2 8626 1 1 20:19 regwords.frm
-rw-rw---- 1 c22chio ch2 34500696 1 4 22:14 urls.MYD
-rw-rw---- 1 c22chio ch2 20992000 1 4 22:14 urls.MYI
-rw-rw---- 1 c22chio ch2 8694 1 1 20:13 urls.frm
-rw-rw---- 1 c22chio ch2 33554972 1 4 22:14 words.MYD
-rw-rw---- 1 c22chio ch2 44557312 1 4 22:14 words.MYI
-rw-rw---- 1 c22chio ch2 8612 1 1 20:13 words.frm
130 :
ひろゆき@どうやら管理人 ★ :2007/01/04(木) 22:37:16 ID:???0 BE:220875-S★(102334)
んでは、SUNOSさんの方式で試してみましょー。
何かゴミデータが混ざってるな,と思ったら...... server side prepare モードは
DBD::mysql の作者もちゃんとテストしてないんですかね.
>>127 のパッチからさらに修正.
--- DBD-mysql-4.00/dbdimp.c Sun Dec 24 23:04:59 2006
+++ DBD-mysql-4.00/dbdimp.c Sat Jan 6 06:00:00 2007
@@ -2485,2 +2485,3 @@
+#if 0
if ( (tolower(*(str_ptr + 0)) == 'c') &&
@@ -2495,2 +2496,3 @@
}
+#endif
@@ -3766,2 +3768,3 @@
}
+#if 0
/* clean up other statement allocations */
@@ -3779,2 +3782,3 @@
num_fields= DBIc_NUM_FIELDS(imp_sth);
+#endif
@@ -4457,3 +4461,3 @@
/* Type of column was changed. Force to rebind */
- if (imp_sth->bind[idx].buffer_type != buffer_type)
+ /* if (imp_sth->bind[idx].buffer_type != buffer_type) */
imp_sth->has_been_bound = 0;
132 :
ひろゆき@どうやら管理人 ★ :2007/01/06(土) 17:43:25 ID:???0 BE:88272-S★(102338)
DBD::mysqlってよくつかわれてそうなのに。。
133 :
耐 :2007/01/06(土) 19:49:16 ID:FcjBKnL90
このやろうなめやがって!!
>>132 DBD::mysql 自体はよく使われてても,server side prepare は
デフォルトでは off なのであまり使われてないのかも......
http://search.cpan.org/~capttofu/DBD-mysql-4.00/lib/DBD/mysql.pm Prepared statement support (server side prepare)
As of 3.0002_1, server side prepare statements were on by default (if your server was >= 4.1.3).
As of 3.0009, they were off by default again due to issues with the prepared statement API
(all other mysql connectors are set this way until C API issues are resolved).
The requirement to use prepared statements still remains that you have a server >= 4.1.3
To use server side prepared statements, all you need to do is set the variable mysql_server_prepare in the connect:
$dbh = DBI->connect( "DBI:mysql:database=test;host=localhost;mysql_server_prepare=1", "", "", { RaiseError => 1, AutoCommit => 1 } );
* Note: delimiter for this param is ';'
There are many benefits to using server side prepare statements, mostly if you are performing many inserts
because of that fact that a single statement is prepared to accept multiple insert values.
135 :
ひろゆき@どうやら管理人 ★ :2007/01/08(月) 11:10:08 ID:???0 BE:283695-S★(102351)
現状ってあとは何が足りないんでしたっけ?
136 :
動け動けウゴウゴ2ちゃんねる :2007/01/08(月) 22:50:59 ID:EY1iKiNMP
137 :
root▲▲ ★ :2007/01/08(月) 23:12:32 ID:???0 BE:5837388-PLT(22223)
>>135 ・10Mbps→100Mbps
・
>>125-126 の作業
- MySQL
- mecab
- c2 の httpd を減らす
あたりですか。
138 :
root▲▲ ★ :2007/01/09(火) 00:25:26 ID:???0 BE:3284249-PLT(22223)
139 :
ひろゆき@どうやら管理人 ★ :2007/01/09(火) 09:34:40 ID:???0 BE:302786-S★(102351)
よろしくですー。
>>137 そんなところですね.ということでよろしくおながいします.
で,MySQL を入れるのは最初 p2 がいいかなと思ってたんですが,
現状を鑑みれば c2 の方が良さそうという気がしてます.
p2 で mod_speedycgi を使うということで prefork MPM 利用は確定のようですし,
そうなると p2 に MySQL を入れるとなるとメモリやコンテキストスイッチなどの
競合できつくなりそうですし.c2 でもパーサがフル回転してる時は CPU で競合しますが,
データ収集が一巡してからはパーサも常時フル回転ではなくなってますし(で,2日以上経過した
データから順次再クロールする処理も入れますたが,それも比較的余力を持ってこなしてますし).
p2 でもピーク時間帯はどっちにしろ CPU 食いますし,c2 ではプロセス数の少なさから
メモリやコンテキストスイッチなどで競合しにくいだろう,ってことで.
141 :
root▲▲ ★ :2007/01/09(火) 11:56:02 ID:???0 BE:1915373-PLT(22223)
- 10Mbps → 100Mbps - p2 ⇔ c2 クロスケーブルで直結 について、再度メールで依頼しました。 関係者に Cc:。
>>135 スレ同士の自動リンクツールとするならもう少し人為を反映する仕様があったほうがいいような
今現在までの閉鎖騒動関連スレを幾つか見たけど 「24」を地で行くようなちょろの奮闘が眩しかった。 ひ(ryが2chを、というより、2chがこの男を失うか否かというような。 そんな風に見えなくもない今回の騒動。
これiframeでやってるのもったいないなぁ read.cgi直書きになる予定ってないんすかねぇ
>>144 read.js では iframe ではなく JavaScript による DOM 操作でやってます.
ただ,古いブラウザだと DOM をちゃんと扱えないかも知れないというところで,
read.cgi でその方式にするのは躊躇してます.
あと,管理人さんからは,2ch 専用でしか使えないものではなく
他のところでも汎用的に使い回しができる形で作ってほしいとも言われてたので,
read.cgi に依存する部分は小さくしておきたい,ということもあります.
停電の影響ですかね.httpd がちゃんとあがってなかったようです @p2 [Fri Jan 19 13:05:08 2007] [emerg] (2)No such file or directory: Couldn't initialize cross-process lock in child (/md/accept.lock.634) (5) c2 の方は MySQL とかパーサとか crawld とか手動であげておきますた. ついでに,my.cnf で log-bin=mysql-bin はコメントアウト,myisam-recover を追加. # MyISAM だから,いきなり落ちるってのは何となくやな感じではあるんですよね...... 070119 13:46:27 [ERROR] /home/c22chio/mysql/bin/mysqld: Table './keywords/urls' is marked as crashed and should be repaired 070119 13:46:27 [Warning] Checking table: './keywords/urls' 070119 13:47:12 [ERROR] /home/c22chio/mysql/bin/mysqld: Table './keywords/dispwords' is marked as crashed and should be repaired 070119 13:47:12 [Warning] Checking table: './keywords/dispwords' 070119 13:47:28 [ERROR] /home/c22chio/mysql/bin/mysqld: Table './keywords/regwords' is marked as crashed and should be repaired 070119 13:47:28 [Warning] Checking table: './keywords/regwords' 070119 13:48:09 [Warning] Recovering table: './keywords/regwords' 070119 13:55:05 [ERROR] /home/c22chio/mysql/bin/mysqld: Table './keywords/words' is marked as crashed and should be repaired 070119 13:55:05 [Warning] Checking table: './keywords/words' 070119 13:55:13 [Warning] Recovering table: './keywords/words' 070119 13:55:13 [Note] Retrying repair of: './keywords/words' with keycache 070119 13:55:52 [Note] Found 1269663 of 1269666 rows when repairing './keywords/words'
147 :
root▲▲ ★ :2007/01/20(土) 23:43:04 ID:???0 BE:2736465-PLT(22230)
>>146 上げました。
しかし、c2.2ch.io が落ちている予感。
148 :
root▲▲ ★ :2007/01/21(日) 00:30:55 ID:???0 BE:6566898-PLT(22230)
>>147 復旧した模様。< c2.2ch.io
原因はカーネルパニック(ffs dup alloc)だったもより。
これ、HDD に強烈にアクセスする場合にごくまれに出るですね。
>>147-148 乙です.停電もアレですが,通常運用中にカーネルパニックってのも,ちょっとコワいですね......
# サイズのデカいテーブルが壊れると,リカバリに時間がかってしょうがないですねぇ......
# regwords はまだ半分ぐらいしか終わってない模様......
#
# -rw-rw---- 1 c22chio ch2 1868775426 1 20 23:40 regwords.MYD
# -rw-rw---- 1 c22chio ch2 973602816 1 21 02:34 regwords.TMD
# -rw-rw---- 1 c22chio ch2 1525427200 1 21 02:34 regwords.MYI
150 :
ひろゆき@どうやら管理人 ★ :2007/01/23(火) 10:44:22 ID:???0 BE:252858-S★(102442)
151 :
ひろゆき@どうやら管理人 ★ :2007/01/23(火) 10:49:04 ID:???0 BE:101344-S★(102442)
テーブルって分割できる構造じゃないんでしたっけ?
>>150 21位ですか・・・
平均滞在時間は、かなり上位になりますねぇ・・・
p2.2ch.io と c2.2ch.io があるのだが。 やっぱ携帯か。
んーmixiがランクインしていないのは何故?
155 :
ひろゆき@どうやら管理人 ★ :2007/01/23(火) 11:45:59 ID:???0 BE:76043-S★(102442)
ユニークの数の集計だからじゃないすか。
なるほどね。 つーことは、あれか? mixiができたから2ちゃんねるが廃れるとかって今のところは無いのだな。
157 :
動け動けウゴウゴ2ちゃんねる :2007/01/23(火) 20:49:46 ID:X6iTzN4i0
158 :
動け動けウゴウゴ2ちゃんねる :2007/01/23(火) 20:59:34 ID:nBCpy34EP
うぜえ
159 :
動け動けウゴウゴ2ちゃんねる :2007/01/23(火) 22:31:06 ID:ttLdMJWB0
そのままコピペかよw
>>150 なるほど......まぁ read.cgi 画面に組み込まれて表示されますからね.
# 今 2ch.io で本格的にやってるサービスは,この関連キーワードぐらいなのかな......?
>>151 MERGE テーブルですね.有用性はあるようなので,ぼちぼち考えますか
(あるいは MyISAM から InnoDB に変えるかどうか,ってのも思案のしどころですが).
# もっとも,停電で落ちるってのがそもそも起こるべきでないことではありますが......
>>153 c2 ってのは携帯ではないですよ.あくまで裏方の処理をする鯖で,
一般閲覧者が直接アクセスする鯖ではないです.というか,read.cgi を
直接見られるフルブラウザ搭載の携帯って,まだ一部じゃないのかな......
162 :
root▲▲ ★ :2007/01/23(火) 23:40:53 ID:???0 BE:1460328-PLT(23456)
>>161 きっと c.2ch.net や p2.2ch.net のイメージがあるので、
p2 とか c2 というホスト名だと、携帯関連だと思うんじゃないかなと。
2ch.ioのpとcは、パーサのpとクローラのcだったりする(命名は管理人)。
>>162 >2ch.ioのpとcは、パーサのpとクローラのcだったりする(命名は管理人)。
そうだったんですかぁ......しかし,現状では
p2: フロントエンド (getf.cgi)
c2: クローラ (crawld), パーサ (parsed.pl), MySQL
なので,c2 は pc2 にした方が「名は体を表す」ですねw
# p2 は 'p' が取れて,どうなるんだろ......
164 :
動け動けウゴウゴ2ちゃんねる :2007/01/24(水) 00:20:29 ID:gqpPG0ef0
>>162 むむむの部屋では2ちゃんねる画像掲示板になってるよ。<up01.2ch.io
この鯖は
>>161 なのね。
165 :
root▲▲ ★ :2007/01/24(水) 00:22:29 ID:???0 BE:7387799-PLT(23456)
>>164 あ、up01 ってもうないかも。
更新jしておきます。
166 :
root▲▲ ★ :2007/01/24(水) 00:23:30 ID:???0 BE:2919348-PLT(23456)
既に削除済みだった。 < up01.2ch.io # おかしいと思った、、、。
167 :
動け動けウゴウゴ2ちゃんねる :2007/01/24(水) 00:40:10 ID:gqpPG0ef0
・・・・・
169 :
ひろゆき@どうやら管理人 ★ :2007/01/24(水) 18:06:10 ID:???0 BE:341069-S★(102442)
たとえば、1日ごとにテーブルを作るようにして、 selectするときは、2週間分をMERGEとかにすると、 鮮度の高いものだけをとれるのと、 検索対象がリニアに大きくなるのは防げるかと。 古いのはdrop tableとかで捨てちゃうとかで。
170 :
動け動けウゴウゴ2ちゃんねる :2007/01/24(水) 19:04:22 ID:gqpPG0ef0
専ブラ使ってると関係ない感じがひしひしとします
172 :
ひろゆき@どうやら管理人 ★ :2007/01/25(木) 11:33:17 ID:???0 BE:252858-S★(102442)
>>170 mergeしようがしまいが、データ量がメモリ内に収まるのであれば、
オンメモリなので、コストはそんなに変わらないです。
データが肥大化してオンメモリで処理できなくなったときに、
ボトルネックが発生するので、
肥大化しないようにするほうがいいと思うのですよ。
guest guest
174 :
動け動けウゴウゴ2ちゃんねる :2007/01/25(木) 12:52:45 ID:lJVO0eQF0
>>169 えとですね,regwords テーブルは登録時のみに使用するもので,getf.cgi での
表示時には使用しません.それ以外の3つのテーブルはそんなに大きくないです.
あと,今は2日以上前の登録データを再クロールするようにしてますが,
dat 落ちしたのは消されるようになってます.なので,古いデータがいつまでも
残るってことは基本的にないかと(流れの遅いスレのデータは残るでしょうけど).
実際,20日以上前の
>>129 と比べても,若干大きくなってるものの膨張一直線って感じではないですし.
mysql> SELECT (SELECT COUNT(*) FROM urls) 'URL 総数', (SELECT COUNT(*) FROM words) '単語総数', (SELECT COUNT(*) FROM regwords) 'DF 計算用単語の URL との関連付け総数', (SELECT COUNT(*) FROM dispwords) '表示用単語の URL との関連付け総数';
+----------+----------+--------------------------------------+-----------------------------------+
| URL 総数 | 単語総数 | DF 計算用単語の URL との関連付け総数 | 表示用単語の URL との関連付け総数 |
+----------+----------+--------------------------------------+-----------------------------------+
| 527930 | 1341210 | 82159070 | 5090686 |
+----------+----------+--------------------------------------+-----------------------------------+
-rw-rw---- 1 c22chio ch2 137734175 1 25 13:13 dispwords.MYD
-rw-rw---- 1 c22chio ch2 103124992 1 25 13:13 dispwords.MYI
-rw-rw---- 1 c22chio ch2 8632 1 20 23:13 dispwords.frm
-rw-rw---- 1 c22chio ch2 1873328877 1 25 13:13 regwords.MYD
-rw-rw---- 1 c22chio ch2 1572448256 1 25 13:13 regwords.MYI
-rw-rw---- 1 c22chio ch2 8626 1 20 23:20 regwords.frm
-rw-rw---- 1 c22chio ch2 41549264 1 25 13:13 urls.MYD
-rw-rw---- 1 c22chio ch2 23207936 1 25 13:13 urls.MYI
-rw-rw---- 1 c22chio ch2 8694 1 20 23:13 urls.frm
-rw-rw---- 1 c22chio ch2 41199816 1 25 13:13 words.MYD
-rw-rw---- 1 c22chio ch2 51624960 1 25 13:13 words.MYI
-rw-rw---- 1 c22chio ch2 8612 1 20 23:13 words.frm
ピーク時間帯で引っかかり感を感じることがあるのは,個人的には
登録処理時にテーブルロックで待たされるのが原因じゃないかと見てます.
http://mumumu.mu/mrtgi/mrtg-rrd.cgi/traffic/ のグラフで,c2 のひろゆきさんのヒゲみたいwなのは再クロール処理によるものですが,
ピーク時間帯では c2 のヒゲと p2 のへこみが連動してるのもそのためではないかと.
InnoDB にすればテーブルロックはなくなる(しかもトランザクションログを使うので
鯖落ち後のリカバリに長時間かかることもなくなるでしょうし),その代わり
全般的に処理は重くなりそう,それで結果的にプラスになるかマイナスになるかは
予測がつかないので,思案のしどころということで......
# まぁ,それ以前にピーク時間帯は再クロールを停止すればいいのかもですがw
ちなみに,getf.cgi でやってるクエリーはこんな感じですが,
特段のネックはないのではないかと......
mysql> EXPLAIN EXTENDED SELECT words.word, UNIX_TIMESTAMP(urls.mtime) FROM urls, dispwords, words WHERE urls.url = '
http://qb5.2ch.net/operate/dat/1166328527.dat ' AND dispwords.url_id = urls.id AND words.id = dispwords.word_id;
+----+-------------+-----------+--------+---------------+---------+---------+----------------------------+------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-----------+--------+---------------+---------+---------+----------------------------+------+-------+
| 1 | SIMPLE | urls | const | PRIMARY,id | PRIMARY | 514 | const | 1 | |
| 1 | SIMPLE | dispwords | ref | url_id | url_id | 8 | const | 17 | |
| 1 | SIMPLE | words | eq_ref | PRIMARY | PRIMARY | 8 | keywords.dispwords.word_id | 1 | |
+----+-------------+-----------+--------+---------------+---------+---------+----------------------------+------+-------+
3 rows in set, 1 warning (0.01 sec)
177 :
ひろゆき@どうやら管理人 ★ :2007/01/25(木) 17:51:53 ID:???0 BE:302786-S★(102442)
時代はInnoDBっすよ。 sennaを使うとかでなければ、 myIsamにするメリットってあんまりない気がします。
>>177 なるほど......やはり機能的にはそうなんですよね.
ただ,MyISAM vs InnoDB のベンチマーク結果の載ってるサイトとか見て回ってると,
パフォーマンス面で一抹の不安があったり......まぁベンチはいろんな条件次第で
結果は変わってくるんで,どっちに転ぶかは実際やってみないとわからないんですけどね.
179 :
ひろゆき@どうやら管理人 ★ :2007/01/25(木) 18:59:41 ID:???0 BE:221257-S★(102442)
実際に試してみるほうが早いかもですね。
>>179 まぁそうですね.やるとすると
1. テーブルの MyISAM -> InnoDB 変換.
2. MyISAM では COUNT(*) が高速ということに依存してる部分があるので,
レコード数を保持するテーブルを新設して COUNT(*) をなくす.
3. 登録時に START TRANSACTION 〜 COMMIT を使う
(2. と併せ登録用ストアドプロシージャを変更).
4. my.cnf に InnoDB 用の設定を入れる.
ってのをやることになりますが,特に 1. とかやると時間がかかりそうなんで,
今夜のピーク時間帯以降にぼちぼちって感じで......
181 :
ひろゆき@どうやら管理人 ★ :2007/01/25(木) 20:08:23 ID:???0 BE:89227-S★(102442)
>3. 登録時に START TRANSACTION 〜 COMMIT を使う 使わないほうが早くないすか?
>>181 いや......現状の登録用ストアドプロシージャは↓のようなものですが,
START TRANSACTION を使わない場合の implicit commit は各 INSERT / UPDATE /
DELETE ごとに行われるので何回も commit することになってしまうのに対し,
全体を START TRANSACTION 〜 COMMIT で囲めば commit は1回だけなので.
もちろん,データの一貫性保持の観点からも START TRANSACTION を入れた方がいいですけど.
CREATE PROCEDURE registurl(urlx varchar(256), mtimex int, totalwordsx int unsigned)
BEGIN
DECLARE urlid, totaldocs bigint unsigned;
SELECT id INTO urlid FROM urls WHERE url = urlx;
IF urlid IS NOT NULL THEN
UPDATE regwords, words SET words.df = words.df - 1 WHERE regwords.url_id = urlid AND words.id = regwords.word_id;
DELETE FROM dispwords WHERE url_id = urlid;
DELETE FROM regwords WHERE url_id = urlid;
END IF;
IF totalwordsx IS NULL THEN
DELETE FROM urls WHERE id = urlid;
ELSE
INSERT urls (url, mtime, totalwords) VALUES (urlx, FROM_UNIXTIME(mtimex), totalwordsx)
ON DUPLICATE KEY UPDATE mtime = VALUES(mtime), totalwords = VALUES(totalwords);
IF urlid IS NULL THEN
SET urlid = LAST_INSERT_ID();
END IF;
INSERT words (word) SELECT word FROM tmpwords ON DUPLICATE KEY UPDATE df = words.df + 1;
UPDATE tmpwords JOIN words USING (word) SET tmpwords.id = words.id, tmpwords.df = words.df;
INSERT regwords SELECT urlid, id, tf FROM tmpwords;
SELECT COUNT(*) INTO totaldocs FROM urls;
INSERT dispwords SELECT urlid, id, tf / totalwordsx * (LN(totaldocs / df) + 1) tfidf
FROM tmpwords WHERE totaldocs / df < 100000 ORDER BY tfidf DESC LIMIT 10;
TRUNCATE tmpwords;
END IF;
END
183 :
ひろゆき@どうやら管理人 ★ :2007/01/25(木) 21:19:00 ID:???0 BE:302786-S★(102442)
おぉ、、ストアードプロシージャーをすでに使ってるんですかぁ。 ラジャーです。
184 :
ノtasukeruyo :2007/01/25(木) 22:12:16 ID:K8P4JlkZ0 BE:11397964-2BP(115)
Operaだと関連キーワードやofuda.ccのあれととスレの一番上の全部や掲示板に戻るが重なって 掲示板に戻るがクリックできない。
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; ja) Opera 9.02
これって、全部、普通のブラウザからの機能ですよね 2ch専用ブラウザにデータを渡して貰えば、クライアントで処理できるんじゃないの? 話題がそれていたらご免なさい 専用ブラウザ使っているから、見ること無いでね
186 :
ひろゆき@どうやら管理人 ★ :2007/01/26(金) 04:05:53 ID:???0 BE:252858-S★(102442)
XHTMLは扱いづらい
あ
189 :
動け動けウゴウゴ2ちゃんねる :2007/01/26(金) 07:15:29 ID:G006ntY00
>>185 まー確かに一理あるな。<2chブラから情報収集
技術的に可能かどうかより、ひろゆきが望むかどうかなんだが。
>>189 望むも何も、
>>186 が答えだろ。
少なくても今の段階では、外部からも自由に使ってみて良いんだと思う。
駄目ならその内アクセス制限掛けるだろうし。
専ブラ側でget.cgiをコールすればキーワードが返ってくるから、
後は専ブラ側でどうぞと。
つう訳で人柱になる専ブラ無いかな。
191 :
動け動けウゴウゴ2ちゃんねる :2007/01/26(金) 12:21:58 ID:G006ntY00
>>190 Jane派生といくつかの2chブラから閲覧はできる。
見るだけならその通り。
2chブラウザからのアクセス統計も集めるかどうかですよ。
192 :
ひろゆき@どうやら管理人 ★ :2007/01/26(金) 12:22:59 ID:???0 BE:151283-S★(102442)
専ブラ開発系のスレッドで告知すればいいんですかね?
193 :
外野ァァン :2007/01/26(金) 12:25:28 ID:UA1Fteu60
そこでメールマガジンですよ
194 :
動け動けウゴウゴ2ちゃんねる :2007/01/26(金) 12:27:48 ID:G006ntY00
>>192 うーん数多いから面倒だろ
ここで公示すればどうよ。
195 :
こんなんで良い? :2007/01/26(金) 12:46:09 ID:G006ntY00
196 :
こんなんで良い? :2007/01/26(金) 12:50:06 ID:G006ntY00
>>195 の底はおすすめ2ちゃんねるとゴッチャになってた。スマソ。
197 :
動け動けウゴウゴ2ちゃんねる :2007/01/26(金) 15:05:09 ID:CxnnXu9Q0
一種の検索ソフトだから、それなりにあるんじゃない? ググルとか、ヤッホーとか、MSとか やってるからね 専ブラで、負荷分散すればそれなりのが出来るかもしれないけど 上記とぶつかると思うよ
さて,
>>180 をやろうかな......ってことで,しばらく止まります.
>>184 下線付近のごく狭い領域ならクリックできたりしませんか?
>>198 出来たり出来なかったりです。
フォーカスがあってもカーソルの形も変わりませんし。
200 :
動け動けウゴウゴ2ちゃんねる :2007/01/26(金) 15:58:14 ID:CxnnXu9Q0
関連キーワードを取得しますか?しませんか? 関連キーワードログを保存しますか?しませんか? 関連キーワード登録しますか?しませんか? 関連キーワードデータをアップロードしますか?しませんか? パケット課金ユーザーには、無縁の話しかも知れません あっても良いなの機能ですが
まずどういうものか理解しよう。
innodb_buffer_pool_size = 256M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_file_per_table
InnoDB 用に↑の設定を入れて立ち上げようとしたら......
070126 15:50:04 [ERROR] Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
mysqld got signal 11;
だそうです......たぶん ulimit の制限に引っかかってるんじゃないかと.
% limit -h datasize
datasize 524288 kbytes
ってことで,これをもっとデカく(物理メモリ上限くらいまで)設定できるようにお願いできればと>むむむさん
>>199 う〜む......そのあたりのは float 使ってるので,それの関係ですかね......
>>202 掲示板に戻る、全部等を囲っているspanを消したらクリックできるようになりますから多分そうでしょう。
204 :
root▲▲ ★ :2007/01/26(金) 16:58:08 ID:???0 BE:2918584-PLT(23456)
>>202 > % limit -h datasize
> datasize 524288 kbytes
FreeBSD/i386 って、これ、増やせるんでしたっけ、、、。
205 :
root▲▲ ★ :2007/01/26(金) 17:29:26 ID:???0 BE:2188883-PLT(23456)
ちなみに FreeBSD 6.2R/amd64 だと、 datasize 33554432 kbytes になっているです。
206 :
root▲▲ ★ :2007/01/26(金) 17:35:00 ID:???0 BE:2189838-PLT(23456)
/usr/src/sys/i386/include/vmparam.h で、 #ifndef MAXDSIZ #define MAXDSIZ (512UL*1024*1024) /* max data size */ #endif ってやってて、 /usr/src/sys/kern/subr_param.c で、 maxdsiz = MAXDSIZ; TUNABLE_ULONG_FETCH("kern.maxdsiz", &maxdsiz); となっているのか。
207 :
root▲▲ ★ :2007/01/26(金) 17:38:58 ID:???0 BE:2919348-PLT(23456)
TUNABLE_ULONG_FETCH ってことは、/boot/loader.conf に書いて再起動か。 とりあえず、 kern.maxdsiz="2048m" とかですかね。
208 :
root▲▲ ★ :2007/01/26(金) 17:45:30 ID:???0 BE:3192757-PLT(23456)
# Increase maximum data and stack size kern.maxdsiz="2048m" kern.maxssiz="1024m" を /boot/loader.conf に追加して、p2.2ch.io / c2.2ch.io をリブートした。 このように出力されたです。 %limit cputime unlimited filesize unlimited datasize 2097152 kbytes stacksize 1048576 kbytes coredumpsize unlimited memoryuse unlimited vmemoryuse unlimited descriptors 65536 memorylocked unlimited maxproc 7390 sbsize unlimited
>>204-208 乙です.kern.maxdsiz とかは元々なくって,自分で新たに定義するものなんですね.
# どおりで,sysctl -a の出力からそれらしきものを探してもなかったわけだ......
default-storage-engine = InnoDB
>>202 に加え,↑の設定も入れますた.で,MySQL は無事立ち上がり,
現在 MyISAM -> InnoDB にテーブル変換中......
regwords の変換にはどれだけかかるだろう......まぁ最低でも1時間以上はかかるでしょうね...... mysql> alter table dispwords engine InnoDB; alter table urls engine InnoDB; alter table words engine InnoDB; alter table regwords engine InnoDB; Query OK, 4841616 rows affected (4 min 10.97 sec) Records: 4841616 Duplicates: 0 Warnings: 0 Query OK, 500065 rows affected (1 min 3.42 sec) Records: 500065 Duplicates: 0 Warnings: 0 Query OK, 1351479 rows affected (1 min 29.03 sec) Records: 1351479 Duplicates: 0 Warnings: 0
それってWebブラウザにURL渡すだけでしょ?
215 :
動け動けウゴウゴ2ちゃんねる :2007/01/26(金) 23:02:10 ID:CxnnXu9Q0
jane 使ってみた コマンドを書くの? タイトルの前に3つ出すの書ける?
タイトルの前に3つ出すのってなに?
未だ regwords の変換処理は続いてるわけですが......ただ,それ以外のテーブルの 変換はすでに終わってるので,getf.cgi での表示だけは可能な状態で動いてます. で,現状ではその変換処理 + getf.cgi からの SELECT クエリー on InnoDB を 平行して捌いてますが,ピーク時間帯になっても c2 は一応無事な状態のようですね. getf.cgi の表示での引っかかり感もあまりなさそうな感じですし. あとは,データの登録・更新処理を動かし始めた場合にどうなるか...... last pid: 1646; load averages: 0.62, 0.78, 0.86 up 0+05:36:46 23:20:27 120 processes: 8 running, 112 sleeping CPU states: 17.8% user, 0.0% nice, 3.3% system, 0.8% interrupt, 78.1% idle Mem: 420M Active, 1327M Inact, 177M Wired, 75M Cache, 112M Buf, 2996K Free Swap: 2048M Total, 16K Used, 2048M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 960 c22chio 42 4 0 599M 379M sbwait 0 263:51 51.76% mysqld
218 :
ひろゆき@どうやら管理人 ★ :2007/01/26(金) 23:52:45 ID:???0 BE:63252-S★(102442)
InnoDB!InnoDB!
219 :
動け動けウゴウゴ2ちゃんねる :2007/01/27(土) 00:06:44 ID:CxnnXu9Q0
スレ立て人のCPU借りて結果だけ貰えば?
Query OK, 78899550 rows affected (5 hours 57 min 6.25 sec) regwords の変換は↑ということで約6時間かかったと.やはり MyISAM よりはディスク容量食いますね. -rw-rw---- 1 c22chio ch2 8554 1 27 04:34 count_urls.frm -rw-rw---- 1 c22chio ch2 98304 1 27 19:06 count_urls.ibd -rw-rw---- 1 c22chio ch2 8632 1 26 18:10 dispwords.frm -rw-rw---- 1 c22chio ch2 482344960 1 27 19:07 dispwords.ibd -rw-rw---- 1 c22chio ch2 8626 1 26 18:17 regwords.frm -rw-rw---- 1 c22chio ch2 7163871232 1 27 19:07 regwords.ibd -rw-rw---- 1 c22chio ch2 8694 1 26 18:14 urls.frm -rw-rw---- 1 c22chio ch2 142606336 1 27 19:07 urls.ibd -rw-rw---- 1 c22chio ch2 8612 1 26 18:15 words.frm -rw-rw---- 1 c22chio ch2 146800640 1 27 19:07 words.ibd んで,登録・再クロール処理も動かし始めますた.今のところ,拍子抜けするぐらい静かな感じですねw last pid: 4972; load averages: 0.66, 0.53, 0.50 up 1+01:24:01 19:07:42 124 processes: 1 running, 123 sleeping CPU states: 3.8% user, 0.0% nice, 3.6% system, 1.4% interrupt, 91.2% idle Mem: 512M Active, 931M Inact, 223M Wired, 82M Cache, 112M Buf, 255M Free Swap: 2048M Total, 20K Used, 2048M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 4821 c22chio 1 4 0 14876K 10680K sbwait 3 1:55 6.98% perl5.8.8 960 c22chio 39 -4 0 604M 383M ufs 0 435:51 5.91% mysqld 4820 c22chio 1 4 0 14236K 10028K sbwait 1 2:03 5.71% perl5.8.8 2772 c22chio 1 4 0 5964K 4700K kqread 0 2:06 1.95% crawld 4822 c22chio 1 4 0 14432K 10280K sbwait 0 1:39 1.17% perl5.8.8 4818 c22chio 1 4 0 14476K 10284K sbwait 2 1:49 0.24% perl5.8.8
ただ,InnoDB はロックの粒度が細かいのはいいんですが,注意しないとデッドロックが 発生してしまうという......そのため,登録処理は単純に START TRANSACTION 〜 COMMIT で 挟むだけじゃダメですね.words テーブルの書き込みは AUTO-INC のロックと行ロックが交錯するし, 行ロックのかかる順番もまちまちなんで,GET_LOCK() 〜 RELEASE_LOCK() で挟んでデッドロック回避. この GET_LOCK() はテーブルロックとは違うものなので,SELECT での読み出しには影響しません. CREATE PROCEDURE registurl(urlx varchar(256), mtimex int, totalwordsx int unsigned) BEGIN DECLARE urlid, totaldocs bigint unsigned; START TRANSACTION; SELECT id INTO urlid FROM urls WHERE url = urlx FOR UPDATE; IF urlid IS NOT NULL THEN IF GET_LOCK('keywords.words', 10) THEN UPDATE regwords, words SET words.df = words.df - 1 WHERE regwords.url_id = urlid AND words.id = regwords.word_id; DO RELEASE_LOCK('keywords.words'); DELETE FROM dispwords WHERE url_id = urlid; DELETE FROM regwords WHERE url_id = urlid; ELSE ROLLBACK; TRUNCATE tmpwords; SET urlid = NULL, totalwordsx = NULL; START TRANSACTION; END IF; END IF; IF totalwordsx IS NULL THEN DELETE FROM urls WHERE id = urlid; UPDATE count_urls SET n = n - 1 WHERE urlid IS NOT NULL; COMMIT; ELSE DO LAST_INSERT_ID(0); INSERT urls (url, mtime, totalwords) VALUES (urlx, FROM_UNIXTIME(mtimex), totalwordsx) ON DUPLICATE KEY UPDATE mtime = VALUES(mtime), totalwords = VALUES(totalwords); IF urlid IS NULL THEN SET urlid = LAST_INSERT_ID(); UPDATE count_urls SET n = n + 1 WHERE urlid; END IF; IF urlid && GET_LOCK('keywords.words', 10) THEN INSERT words (word) SELECT word FROM tmpwords ON DUPLICATE KEY UPDATE df = words.df + 1; DO RELEASE_LOCK('keywords.words'); UPDATE tmpwords JOIN words USING (word) SET tmpwords.id = words.id, tmpwords.df = words.df; INSERT regwords SELECT urlid, id, tf FROM tmpwords; SELECT n INTO totaldocs FROM count_urls; INSERT dispwords SELECT urlid, id, tf / totalwordsx * (LN(totaldocs / df) + 1) tfidf FROM tmpwords WHERE totaldocs / df < 100000 ORDER BY tfidf DESC LIMIT 10; COMMIT; ELSE ROLLBACK; END IF; TRUNCATE tmpwords; END IF; END
223 :
動け動けウゴウゴ2ちゃんねる :2007/01/27(土) 22:15:46 ID:FzgyxveM0
思い出した 昔、あったな、社会とかのボタン 無くなったんだよな確か? 記憶力弱いんで違ってたらスマソ 3回目か ホリエモンの1クリック程度の価値有ったのだろうか? 意外と進歩してないモンだな 辞書をロカールに於いて、集めてきて賢くするだったかな? 英和、和英何てのも有った 思い出すことは出来ないだろうが
>>222 のでもまだデッドロックが起きて......
>>221 の top の表示で余裕に見えたのは,
新規データは登録されるものの,再クロールでの更新データはデッドロックのため
ほとんど登録されず CPU が休んでいたための模様w GET_LOCK() でのロック範囲を広げて
CREATE PROCEDURE registurl(urlx varchar(256), mtimex int, totalwordsx int unsigned)
BEGIN
DECLARE urlid, totaldocs bigint unsigned;
START TRANSACTION;
IF GET_LOCK('keywords.registurl', 10) THEN
SELECT id INTO urlid FROM urls WHERE url = urlx FOR UPDATE;
IF urlid IS NOT NULL THEN
UPDATE regwords, words SET words.df = words.df - 1 WHERE regwords.url_id = urlid AND words.id = regwords.word_id;
DELETE FROM dispwords WHERE url_id = urlid;
DELETE FROM regwords WHERE url_id = urlid;
END IF;
IF totalwordsx IS NULL THEN
UPDATE count_urls SET n = n - 1 WHERE urlid IS NOT NULL;
DO RELEASE_LOCK('keywords.registurl');
DELETE FROM urls WHERE id = urlid;
COMMIT;
ELSE
INSERT urls (url, mtime, totalwords) VALUES (urlx, FROM_UNIXTIME(mtimex), totalwordsx)
ON DUPLICATE KEY UPDATE mtime = VALUES(mtime), totalwords = VALUES(totalwords);
IF urlid IS NULL THEN
SET urlid = LAST_INSERT_ID();
UPDATE count_urls SET n = n + 1;
END IF;
INSERT words (word) SELECT word FROM tmpwords ON DUPLICATE KEY UPDATE df = words.df + 1;
UPDATE tmpwords JOIN words USING (word) SET tmpwords.id = words.id, tmpwords.df = words.df;
DO RELEASE_LOCK('keywords.registurl');
INSERT regwords SELECT urlid, id, tf FROM tmpwords;
SELECT n INTO totaldocs FROM count_urls;
INSERT dispwords SELECT urlid, id, tf / totalwordsx * (LN(totaldocs / df) + 1) tfidf
FROM tmpwords WHERE totaldocs / df < 100000 ORDER BY tfidf DESC LIMIT 10;
COMMIT;
TRUNCATE tmpwords;
END IF;
ELSE
ROLLBACK;
TRUNCATE tmpwords;
END IF;
END;;
にしたら,CPU も働き出した.
last pid: 5512; load averages: 3.86, 3.52, 3.20 up 1+04:39:59 22:23:40 132 processes: 5 running, 126 sleeping, 1 stopped CPU states: 53.0% user, 0.0% nice, 9.6% system, 1.4% interrupt, 36.0% idle Mem: 615M Active, 920M Inact, 220M Wired, 55M Cache, 112M Buf, 193M Free Swap: 2048M Total, 20K Used, 2048M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 4820 c22chio 1 121 0 99M 69144K CPU1 1 26:51 63.43% perl5.8.8 4821 c22chio 1 118 0 98M 58500K RUN 0 29:36 59.57% perl5.8.8 4822 c22chio 1 101 0 99M 52608K CPU3 0 29:25 33.35% perl5.8.8 4818 c22chio 1 107 0 99M 48412K CPU2 2 28:46 32.47% perl5.8.8 960 c22chio 46 4 0 603M 383M sbwait 2 494:59 19.97% mysqld 2772 c22chio 1 -8 0 5716K 4440K biord 0 16:46 9.28% crawld んで,この状態でも getf.cgi 表示の引っかかり感もあまりないようなので, とりあえず InnoDB への切り替えはプラス側に転んだ,ということでいいのかな.
226 :
root▲▲ ★ :2007/01/28(日) 00:06:46 ID:???0 BE:1094562-PLT(23456)
おつでした。 しかし InnoDB の本来の力を発揮させるには、 プログラミング上の注意も必要、ということですか。
228 :
ひろゆき :2007/01/28(日) 02:03:16 ID:kfF9e/oF0
デッドロックってあるんすねぇ。
229 :
ひろゆき :2007/01/28(日) 06:26:08 ID:LqzQYav/P
あるある。
230 :
動け動けウゴウゴ2ちゃんねる :2007/01/29(月) 08:49:02 ID:el4udxkc0
231 :
動け動けウゴウゴ2ちゃんねる :2007/01/30(火) 02:15:25 ID:Zy7MyLC40
完走したニューススレの次スレ追跡に一応使える 本当はおすすめ2ちゃんねるのほうで対応して欲しいが
さすがに InnoDB のリカバリは早いっすね,2秒ぐらい. 070131 23:24:01 mysqld started 070131 23:24:01 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. InnoDB: Reading tablespace information from the .ibd files... InnoDB: Restoring possible half-written data pages from the doublewrite InnoDB: buffer... 070131 23:24:02 InnoDB: Starting log scan based on checkpoint at InnoDB: log sequence number 11 4261151496. InnoDB: Doing recovery: scanned up to log sequence number 11 4261161318 070131 23:24:02 InnoDB: Starting an apply batch of log records to the database... InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 InnoDB: Apply batch completed 070131 23:24:03 InnoDB: Started; log sequence number 11 4261161318 070131 23:24:03 [Note] /home/c22chio/mysql/bin/mysqld: ready for connections. Version: '5.0.27-standard' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Edition - Standard (GPL)
233 :
root▲▲ ★ :2007/01/31(水) 23:52:52 ID:???0 BE:1916137-PLT(23456)
>>232 おー、さすが。
Inno は innovation なんでしたっけ。
235 :
ひろゆき@どうやら管理人 ★ :2007/02/01(木) 06:07:00 ID:???0 BE:510899-S★(102451)
伊能忠敬。
ぎゃはははは
適切なリアクションが思いつかない自分を不甲斐なく思うよ きっと就活の面接に落ち続けてる俺に“足りない何か” を見つけるきっかけはここいら辺にあるんだと思う
いの一番に反応したかったものの,お二方に先を越されますた.
[Thu Feb 01 16:09:48 2007] [emerg] (17)File exists: Couldn't create accept lock (/var/log/accept.lock.634) (5) ってことで rm /var/log/accept.lock.*; apachectl start おながいします @p2 >むむむさん # 普通の場所だと EEXIST になったり,/md だとマウント前にファイル作ろうとしたりで,難しいですねぇ...... c2 は MySQL のシャットダウン処理中に落ちちゃったようですね. まぁちゃんとリカバリしてますが.ただ,今回は28秒ぐらいかかってますけど...... 070201 14:27:10 [Note] /home/c22chio/mysql/bin/mysqld: Normal shutdown 070201 14:27:12 InnoDB: Starting shutdown... 070201 17:01:01 mysqld started 070201 17:01:01 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. InnoDB: Reading tablespace information from the .ibd files... InnoDB: Restoring possible half-written data pages from the doublewrite InnoDB: buffer... 070201 17:01:01 InnoDB: Starting log scan based on checkpoint at InnoDB: log sequence number 14 502342626. InnoDB: Doing recovery: scanned up to log sequence number 14 507585024 InnoDB: Doing recovery: scanned up to log sequence number 14 512827904 InnoDB: Doing recovery: scanned up to log sequence number 14 518070784 InnoDB: Doing recovery: scanned up to log sequence number 14 523313664 InnoDB: Doing recovery: scanned up to log sequence number 14 528556544 InnoDB: Doing recovery: scanned up to log sequence number 14 533799424 InnoDB: Doing recovery: scanned up to log sequence number 14 539042304 InnoDB: Doing recovery: scanned up to log sequence number 14 544285184 InnoDB: Doing recovery: scanned up to log sequence number 14 549528064 InnoDB: Doing recovery: scanned up to log sequence number 14 551520217 070201 17:01:09 InnoDB: Starting an apply batch of log records to the database... InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 InnoDB: Apply batch completed 070201 17:01:29 InnoDB: Started; log sequence number 14 551520217 070201 17:01:29 [Note] /home/c22chio/mysql/bin/mysqld: ready for connections. Version: '5.0.27-standard' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Edition - Standard (GPL)
httpd@p2 立ち上がってますね.乙です>むむむさん
241 :
root▲▲ ★ :2007/02/01(木) 18:30:48 ID:???0 BE:1276872-PLT(23456)
>>239-240 やりました。
何か、しかけを入れる方向ですね。 < httpd health check
242 :
root▲▲ ★ :2007/02/01(木) 18:38:42 ID:???0 BE:4377986-PLT(23456)
で、すごいバカな質問かもなんですが、 accept.lock って、そもそも作らないとまずいんでしたっけ。
>>242 ソケットの accept() を直列化するためのロックで利用するものですね.
ソケットが1つだけなら直列化は必須というわけでもないんですが,
直列化した方がカーネル内でのスピンを抑制し遅延を小さくする効果があるためにやってるらしいです.
cf.
http://httpd.apache.org/docs/2.2/misc/perf-tuning.html の "accept Serialization - single socket"
pthread_mutexattr_setrobust_np() が使えるなら AcceptMutex pthread を
安全に利用できるので,flock() / fcntl() ベースのロックを使わずに済む,
つまり accept.lock ファイルのことは考えずに済むんですが(それのみならず
パフォーマンス面でも有利ですし),FreeBSD ではそれはないようなので
安全には使えない(どれかの httpd プロセスが mutex lock を保持したまま死ぬと
他の httpd プロセスがデッドロックに陥ってしまう)ということで......
あと,/md の設定を /etc/fstab に入れれば /md のマウントのタイミングが
もっと早くなって accept.lock 生成で失敗しなくなる,とかいうことないんでしょうか?
244 :
root▲▲ ★ :2007/02/02(金) 09:56:43 ID:???0 BE:3648858-PLT(23456)
>>243 ふむふむ。
一般的なサーバは、fstab にしてもいいかもしれないですね。
/md の大きさや設定は各サーバの事情によって結構変えているので、
/etc/fstab にあまり書きたくなかった、という事情がありました。
あと、FreeBSD 5.x のバージョンアップの時に、
fstab に md の設定を書いていると mount でしくって、
single user mode になってしまう、というのもありますね。
毎回 /md の mount をしないようにしてから作業すればいいんですが、
それよりも、別にスクリプトを書こうと。
…というか、たぶんきっと rcorder をちゃんと書けばいいような予感。
>>244 なるほど...... rcorder ってのは依存関係を定義するんですね.
ただ,rc(8) のこれが適用されるなら,単に起動スクリプトを
リネームするだけでもいいのかも?
The following key points apply to old-style scripts in
/usr/local/etc/rc.d/:
o The scripts within each directory are executed in lexicographical
order. If a specific order is required, numbers may be used as a
prefix to the existing filenames, so for example 100.foo would be
executed before 200.bar; without the numeric prefixes the opposite
would be true.
246 :
root▲▲ ★ :2007/02/02(金) 23:41:03 ID:???0 BE:821333-PLT(23456)
なるほど、ZZZ- を 000- とかにすればいいと言ってますかね。 あるいは、/md の mount 部分だけを 000- で切り出すとか。
247 :
動け動けウゴウゴ2ちゃんねる :2007/02/03(土) 21:03:29 ID:HwPyiOiV0
¶ ¶\ ¶ .\¶¶¶..¶,/¶ ヽ ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶、 ¶¶¶¶¶¶エルメェス¶¶¶¶¶¶¶¶ ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶i ¶<=○=><=○=> ¶i / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶* i < (ヘイッ!私のギコクンどこ? ¶:、¶¶¶ー□‐¶¶¶¶¶¶¶/ \_____________________ ¶|¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ ¶ ¶¶¶¶¶¶¶¶¶¶¶¶¶ ¶¶¶¶¶ |ヽ ¶ ¶¶¶¶¶¶¶¶¶¶¶¶¶ ¶¶丿 ¶ ¶ ¶¶¶¶¶¶¶¶¶¶¶¶¶¶ )_ノ (.,.,.,.,..,).,.,.,..,.,.,.(,..,.,.,.,..,.),.,.,,../ ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ ¶¶¶¶¶¶ ¶*゚ー゚ ¶ ヘイッ!私のギコクンどこ? U U く く ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ このAAをみてから10日以内にこれと同じ内容を10回書き込まないと、 両腕をもがれて死にます。 虐厨はうそつきだと思ったみなさん。 すいません。 虐厨はうそつきではないのです。 しにたくないだけ、なんです。
248 :
ひろゆき@どうやら管理人 ★ :2007/02/07(水) 15:50:30 ID:???0 BE:101344-S★(102456)
落ち着いてる感じすかねぇ。
落ち着いてるというか閑古鳥が鳴いてるというか
250 :
動け動けウゴウゴ2ちゃんねる :2007/02/07(水) 18:37:19 ID:wkuTWEQx0
ってか どのくらいの利用者がいるのかしらん
関連キーワードからスレを検索したりできないの?
関連キーワードってIEとかでスレを見たときに上の方に表示されるキーワードのことでいいのかな? 専ブラ使いなので初めて知った・・・ 使わせたいなら専ブラ作者に対応してもらった方が。
253 :
動け動けウゴウゴ2ちゃんねる :2007/02/07(水) 19:05:25 ID:wkuTWEQx0
専ブラでスレタイ検索できるから別段不自由はしていないが IEで使ってる人がどのくらい居るのかは気になる AAにも反応するからオレはIEからでもあんまり使ってないけど
254 :
ひろゆき@どうやら管理人 ★ :2007/02/08(木) 12:54:37 ID:???0 BE:220875-S★(102457)
255 :
動け動けウゴウゴ2ちゃんねる :2007/02/08(木) 12:56:38 ID:SwbVAbUi0
なんて親切なひと!
256 :
動け動けウゴウゴ2ちゃんねる :2007/02/08(木) 12:59:40 ID:H/+DvQle0
まろゆき狼なおして
258 :
動け動けウゴウゴ2ちゃんねる :2007/02/08(木) 13:00:23 ID:HwISqHfq0
ex21鯖の復旧をお願いします。 >>ひろゆきさん。
260 :
動け動けウゴウゴ2ちゃんねる :2007/02/08(木) 15:53:25 ID:4NLUwEjW0
>>254 あ。そだ<ひろゆき
この関連キーワードを2chブラに広めたいんだって言ってたよな。
ソフ板に告知スレを立てればええやん。
2ゲト禁止ってか常にスレ上位にある告知みたいなのを。
261 :
ひろゆき@どうやら管理人 ★ :2007/02/12(月) 02:31:55 ID:???0 BE:63252-S★(102462)
わくわくされても。
わくわくさん?
やぁ、ゴロリ
ピロリだろそこは
これがユトリ教育か
ひろゆきがいると聞いて来ました
268 :
動け動けウゴウゴ2ちゃんねる :2007/02/12(月) 02:50:35 ID:QI7Xx41p0
ひろゆきニュー速なんとかしてくれ
269 :
動け動けウゴウゴ2ちゃんねる :2007/02/12(月) 02:52:05 ID:jkUMC5Rp0
VIPを2つに割る作戦か?
ニュー速民はどこにいけばいいの?
ニュー速+があるじゃん
272 :
動け動けウゴウゴ2ちゃんねる :2007/02/12(月) 03:20:59 ID:g5XsDYufO
>>261 若ハゲ?隠してやんよ
彡⌒ ヽ
( ;ω;)=つ≡つ∧_∧
(っ ≡つ=つ∧_∧
/ ) ババババ
( / ̄∪
273 :
動け動けウゴウゴ2ちゃんねる :2007/02/12(月) 03:36:30 ID:PzLrTs7o0 BE:87217722-2BP(1617)
ひろゆきにポイントねだるとか・・・ クレクレ厨はちゃんとsakuして下さい
275 :
動け動けウゴウゴ2ちゃんねる :2007/02/12(月) 03:50:01 ID:xclIIkDO0
276 :
動け動けウゴウゴ2ちゃんねる :2007/02/12(月) 03:53:50 ID:xclIIkDO0
死ねたらこ
924スレじゃないと普通に沈んでいっちゃうね そしてage荒らし
279 :
動け動けウゴウゴ2ちゃんねる :2007/02/12(月) 09:15:57 ID:xclIIkDO0
>>278 俺ができる精一杯w
落ちたら落ちたで鯔が924スレこさえるだろw
遊び場を提供してくれてるひろゆきに、感謝の意を込めて かるーいお手伝いw
とりあえずbe2ch対応ブラウザスレに書いといたから
ボチボチ反応あるんじゃね?
キーワードをクリックすると、同じ関連キーワードが出てくるスレが表示されるのかと思ってた まあ無料でそんなことできたら、モリタポ使って本文検索する意味ないわな
>>280 あなた頭良いな。
スレタイに関連キーワードが入っていても肝心の中身に無いかもだよなー。
同じキーワードのスレが検索できるのが理想ってか正しい方向だわなー。
ひろゆき>対応してください。
282 :
動け動けウゴウゴ2ちゃんねる :2007/02/13(火) 00:59:16 ID:Cli2IqDC0
283 :
ひろゆき@どうやら管理人 ★ :2007/02/13(火) 01:47:50 ID:???0 BE:202548-S★(102462)
スレタイ検索をNgramにしよう計画。
わくわく。 ↓後は任せた。
Janeの次スレ検索で使われてる奴ね。 wktkして待ちます。
ttp://japan.cnet.com/news/media/story/0,2000056023,20095741,00.htm たとえば、「ライブドアの検索」という文章ならば、形態素解析では「ライブドア」「の」「検索」と分割する。
英語では、単語と単語の間にスペースが入るので認識しやすいが、
日本語の場合は、単語の辞書ファイルを用意しなくてはならない。
これがN-gramの場合、Nを2文字単位と指定すれば、
「ライ」「イブ」「ブド」「ドア」「アの」「の検」「検索」と分割し、それぞれを単語として扱う。
強制的に分割するので、別途辞書ファイルを用意する必要がない。
そのため、一般的に認識する単語のデータ量は、形態素解析よりもN-gramのほうが多くなるので、
検索を高速に処理するのは不得手(Nを何文字にするかによっても大きく変わる)とされている。
しかし、別途辞書ファイルが必要ないため多言語でも通用するほか、
網羅性が高く検索の漏れがなくなりやすいとされている。
=−−−−
ひろゆき>
ひょっとして2chブラウザ内で検索できるようにお願いするん?
287 :
ひろゆき@どうやら管理人 ★ :2007/02/13(火) 17:15:07 ID:???0 BE:227849-S★(103000)
2ch検索の負荷をみつつ、、、
見つつ実装すると?
変なキーワードがあると思ったらAAに反応してたのか・・・
290 :
動け動けウゴウゴ2ちゃんねる :2007/02/13(火) 20:23:18 ID:Bo9DEURl0
291 :
ひろゆき@どうやら管理人 ★ :2007/02/13(火) 23:07:55 ID:???0 BE:226894-DIA(103001)
あいあい。
293 :
ひろゆき@どうやら管理人 ★ :2007/02/13(火) 23:53:45 ID:???0 BE:114629-DIA(103001)
なんとかしてみました。
さすが管理人、仕事が速い。
鯖落ちぐらいチェックしてよ。とか言ってみる。
297 :
ひろゆき@どうやら管理人 ★ :2007/02/14(水) 02:03:12 ID:???0 BE:151283-DIA(103001)
鯖が落ちていたらひろゆきに自動連絡するシステムが開発される悪寒。 ぼくはできませんが。
手紙が届いていたらひろゆきに自動連絡するシステムが開発される悪寒。
まずはひろゆきを探すシステムを作らないと。
301 :
動け動けウゴウゴ2ちゃんねる :2007/02/14(水) 12:10:27 ID:Gt3IM2nx0
302 :
ひろゆき@どうやら管理人 ★ :2007/02/14(水) 15:25:02 ID:???0 BE:403788-DIA(103001)
ひろゆきチョコなんこもらった?
304 :
ひろゆき@どうやら管理人 ★ :2007/02/14(水) 17:10:57 ID:???0 BE:63825-DIA(103001)
まだ外出してないので0です。
要するに義理チョコするもらうあてはないのか
(-人-)ひろゆきがチョコ食ってゲリ止まらなくなりますように。。
ひろゆきモテそうなのに。
外出すれば貰えるとな
彼女がいらっしゃるそうですし。
彼女が居たら家まで持ってくるだろ普通 あ 宛所不明な人だったね、そういえばw
ひろゆきはうまい棒とチョコ、どっちが好きなんだ? チョコ味のうまい棒があればいいのか?
ひろゆきもてるなあ。 ヒューヒュー
>>314 すげーーーーーーーwwwwwwwwww
317 :
ひろゆき@どうやら管理人 ★ :2007/02/15(木) 17:00:06 ID:???0 BE:454098-DIA(103002)
ふ、、振込みが、、、
キタ----!!!
またかい
おまい、いつもそれだな・・・
クレカから振込みに変更したんですか・・・。 それで今度は振込みを忘れたと・・・。
( ;∀;)イイハナシダナー
>>960 パタパタ....(((((c ・ω・)お疲れ様っす
誤爆してすいません
326 :
root▲▲ ★ :2007/02/15(木) 17:23:38 ID:???0 BE:3830876-PLT(23461)
あははははははw
329 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 17:42:43 ID:hWDZPaVI0
>>317 やっぱ、金融機関も気づいたんだろうね
現住所がちがっていれば、止めるよね
ちなみに21時ごろおてて繋いで帰ってきたね
>>329 振込みし忘れてたと言うことでは・・・。
もう、3時過ぎてるし早くても明日の8時以降しか無理じゃないかな・・・。
ふっかちゅ
お茶目さんw
334 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 17:49:53 ID:hWDZPaVI0
シティーバンクも止められているよ SMBCもみずほも三菱UFJも止められているあたり とっても可愛そう みんなで西村にカンパしてあげないか? みずほの1032378にさ
>>317 ____
/ \
/ ─ ─\
/ (●) (●) \
| (__人__) | ・・・
/ ∩ノ ⊃ /
( \ / _ノ | |
.\ “ /__| |
\ /___ /
前もあったよな
なんか手詰まり状態なのかな? こんなとこにレスしてるってことは・・・
338 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 17:51:58 ID:ZiNIrY5I0
>>317 / ノ \
| ( ・)(・) もう痴呆かよ・・・
| (_人)
ヽ ノ\ \
/ \ \ \
| |ヽニつ \ \
もうねアホかと
ふっかちゅ
(*´д`*)
おお、振り込めたようですね
あ?お前、美味そうなタラコ持ってんな
344 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 17:55:19 ID:hWDZPaVI0
振り込めても 引き出せるかが重要でしょうね
プロ固定。。。
むしろ照れ屋さん
ヾ(*´∀`*)ノキャッキャ
349 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 18:09:31 ID:DoCrl/SL0
ひろゆき > エンコリ見てる?
ここ見て俺もさくらのサーバ代払うの忘れてた事に気付いた 403,、'`,、'`,、(ノ∀`)'`,、'`,、'`,、
351 :
南斗最後の将 ◆YURIA/9GgE :2007/02/15(木) 18:27:41 ID:osi4on2kO
あらやだ
352 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 18:51:29 ID:mo7fGurB0
どうするよって もう復活してる
355 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 19:30:06 ID:H6K1XRhp0
2ちゃんねるのサーバ代はひろゆきを経由しないで広告代理店が直接振り込むんじゃないんですか?
sportsはひろゆき直轄鯖。
sports2だけな
358 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 19:36:02 ID:H6K1XRhp0
なるほどー
361 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 20:24:12 ID:afgeKByM0
>>317 , -‐- 、__ o
/ \ /ヽ −`/
/ / ,イ / ,、 ヽ
/ r'/ /l/ !-/レ' ヽ ', | | |
.! {/ / C' ゙ー‐l | l l l__
! / / _ C' l /'"ノ ノノ ` ‐ 、
.! ! lヽ、 /、/ // //_/,イ_∠ /| .,、ヽ、
l | !´lii゙l>=-、-‐'/´_fノL_レ=o レ、_!l !l
| ∠| .l/,>fjとli ̄`i /! `ヽ / ノ、 _。ル'j
| V /'´ jノ `ー‐|′ ノ-‐i、r┐/ヽ/ /
| /\______| /,-ムrl='`ヽ/__,/
| / / / / l l | /  ̄「} \ |
362 :
ひろゆき@どうやら”管理”人 ☆ :2007/02/15(木) 20:26:26 ID:oKVIb5Y30
jlkjj
363 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 20:27:21 ID:muqj/tGr0
>317 おい、まろゆき お前、この前も振込み忘れたことがあっただろーが! 忘れんなよw
365 :
ひろゆき@どうやら管理人 ★ :2007/02/15(木) 21:32:13 ID:???0 BE:302786-DIA(103002)
2度あることは3度ある、、と。
お祭りが好きなようで><
せめて学習しようよ
犯行予告キタコレ
あの板には冷静になる時間が必要だと思う。 1ヶ月くらい放置でも俺はいいよ。
3度目の正直であぼん。
371 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 21:50:02 ID:Y2MEboHq0
ひろゆきのスレに初めて書き込む
372 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 21:54:37 ID:11HUGwYjO
まろ〜ゆき〜ねえ?
373 :
ノtasukeruyo :2007/02/15(木) 22:07:20 ID:VTJ0C/uE0
>>184 の件はどこに頼めばいいのでしょうか。わりと不便なのですが・・・・・・。
Opera/9.10 (Windows NT 5.1; U; ja)
2度あることはタントアールだろ
376 :
ノtasukeruyo :2007/02/15(木) 22:51:51 ID:VTJ0C/uE0
>>375 どうもです。
read.htmlだと問題無いですね。
read.cgiにすると上のカウンターと重なってしまいクリックできなくなります。
Opera/9.10 (Windows NT 5.1; U; ja)
>>376 じゃあ,当該部分のタグを read.html のと同じのにすればいいのかな......
>>377-379 どうもです。
できれば2chの側で対応していただけるとありがたいのですが。
Operaで2chを利用する人の全てがcssを設定するわけではないでしょうし。
まぁ、全ての板がread.htmlへ切り替えられるようになれば 話は早いのかもしれませんが。
382 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 23:47:01 ID:OKbEZRpT0
わけわからn会話してるな
>>378 これでも良いんだけど、サーバーごとに設定しないといけないのがなんとも。
384 :
動け動けウゴウゴ2ちゃんねる :2007/02/15(木) 23:55:37 ID:/FGSj+5x0
漢字のキーワードの挙動がおかしい
>>385 重なることなくクリックできています。
Opera/9.10 (Windows NT 5.1; U; ja)
389 :
動け動けウゴウゴ2ちゃんねる :2007/02/16(金) 01:12:07 ID:aJ0E/d2N0
390 :
動け動けウゴウゴ2ちゃんねる :2007/02/16(金) 02:31:48 ID:5TtZfvjp0
1億以上収入有るんだから50年分ぐらい振り込めよ
検察に気をつけてねー
textでA B C D Eだけにしてよ html解析めんどい
おいおい、XMLのパースもできないのかよw
その作業がめんどい
Perl ならこんな感じじゃ? sub extract_keywords { my @kw; $_[0] =~ /^var keywords = { ((?:"[^"]+":"[^"]+"(?:, )?)+) };$/m or return; foreach (split(/, /, $1)) { /^"([^"]+)":/ or next; push(@kw, $1); } @kw; }
わがままいったのにやさしくしてくれるsunosさん好き
すのす
これと同じようなインターフェースでおすすめ2ちゃんねるも呼び出せるようにしてほしい。
400 :
動け動けウゴウゴ2ちゃんねる :2007/02/17(土) 12:51:34 ID:rbTTlVzI0
まろゆき、振り込んでこいさっさと。鯖は俺の鯖を貸してやる
>>401 おお。
下の奴しか知らなかったので、上でやってみる。
>>385 今は直ってるみたい
そのときは二文字のが一文字だけになったり後ろが化けたりしてた
>>403 そうですか...... MySQL は cp932 で動いてるし,ヘンなバイトシーケンスが
そのまますり抜けるってことはないとは思いますが,またあったら知らせて下さい.
あ......ひょっとして↓を入れないとデータ化けが起こる可能性もなきにしもあらず?
静かな時間帯にでも入れ替えておこう<DBD::mysql
--- DBD-mysql-4.001/dbdimp.c
+++ DBD-mysql-4.001/dbdimp.c
@@ -3750,19 +3773,11 @@
"Error happened while tried to clean up stmt",NULL);
return 0;
}
+ /* to avoid SIGSEGV when reusing this statement handle */
+ imp_sth->stmt->bind_result_done= 0;
}
(ry
# これも含めパッチ投げて反応待ちだったり.
#
http://bugs.mysql.com/bug.php?id=26388
406 :
動け動けウゴウゴ2ちゃんねる :2007/02/18(日) 22:01:39 ID:qfY4A8BA0
407 :
stream ◆PNstream2s :2007/02/18(日) 22:09:21 ID:XzsEMgbQ0
%83%7D マ %83%89 ラ %83%5C ソ %83%93 ン %5C \ %83%83 ャ
%5Cを重ねればいいんだろうけど、そもそも find.2ch.net の中を直さなきゃ。
>>411 find.2ch.net の方は EUC で処理してるっぽいのに、getf.cgi の出力が SHIFT_JIS で
発行されてる部分が多分食い違いの原因。
気を使うべき正規表現を扱ってる find.2ch.net の中を修正するのが筋なのは確かかも
413 :
動け動けウゴウゴ2ちゃんねる :2007/02/19(月) 00:38:36 ID:Qm35+Bmi0
414 :
なぽ :2007/02/19(月) 02:07:40 ID:KxOYQz7X0 BE:4925344-2BP(2)
>>412 修正しますた。
エンコーディング変換前になぜかstripslashes()が。なんでだろ。
>>412 もう解決してるっぽいけど、Shift_JISの2バイト目のバックスラッシュの取り扱いの問題だね。
データのエンコーディングの扱いが曖昧だとハマる。
stripslashes ってことはPHPなのかな? PerlでShift_JISの2バイト文字を含む文字から安全に \ を取り除きたい場合は $strings =~ s/([\x81-\x9f\xe0-\xfc][\x40-\xfc])|\x5c(\x5c)?/$1$2/g; \\ と二つ並んだものは \ ひとつに。それ以外の単独の \ は全部除去されます。 どのように \ でエスケープされてるかを正しく把握しないと余分な処理しそうなのでご注意
どこでもトンファー
>>417 read.js なら iframe 使わないからそういう問題は起きないです
......と言おうと思ったら,そもそも Safari だと read.js 自体ちゃんと動かないんですね.
う〜む......
420 :
おふぃす :2007/02/20(火) 01:03:00 ID:EBLhrkLWP
スレ読まずに 誰かの案は採用されたのかい?まだアイディア出しの段階?
Safari での read.cgi の表示直ってました。対応ありがとうございます。m(_ _)m
422 :
ひろゆき@どうやら管理人 ★ :2007/02/21(水) 23:37:01 ID:???0 BE:94853-DIA(103130)
誰かの案?
425 :
ひろゆき@どうやら管理人 ★ :2007/02/22(木) 00:37:16 ID:???0 BE:88272-DIA(103130)
426 :
動け動けウゴウゴ2ちゃんねる :2007/02/22(木) 01:30:14 ID:CIG1Pa+z0
このスレの キーワード【 rw InnoDB urls id words cgi ch 】
427 :
動け動けウゴウゴ2ちゃんねる :2007/02/25(日) 01:39:09 ID:ha5BeV2q0
スレ内もだけどスレタイから抽出したのがないと 次スレ追っかける時面倒な場合がある (キーワードが本文であまり使われてない場合とか)
428 :
おふぃす :2007/02/25(日) 06:13:46 ID:+aZFC3xFP
ごめんごめん。 雑談2007に書いたつもりが誤爆ったのさ♪
スレタイもキーワード抽出対象にはなってますが,重要度計算で上位に来ないと 入らないこともありうる,と(スレタイは本文の2倍のウェイトで計算してはいますが).
>>388 tv11鯖ではまだ、ページヘッダのリンクに触れない気がします w/Opera9
快適になって安心していたのですが、まだ全鯖対応ではありませんでしたか?
>>430 tv11 は banana3102 つまり T-bananaですね.
今は T-banana とそれ以外で read.cgi のソースが統一されておらず,
その作業と併せて行った方が効率的なので,それまでしばらくお待ち下さい.
理解しました。確かにサーバのタイプで乗ってるもの違いますしね。ありがとうございます。
433 :
動け動けウゴウゴ2ちゃんねる :2007/02/27(火) 01:20:23 ID:GeMrAsRv0
>>429 別枠化するか
本文が400kbでスレタイが40bなら10000倍換算ぐらいがいいと思う
434 :
動け動けウゴウゴ2ちゃんねる :2007/02/27(火) 01:22:26 ID:GeMrAsRv0
てかスレタイを単語ごとに区切って直接クリックで飛べるようにとかは?
スレタイを重視しすぎると,関連キーワードの性質が微妙に変化しそうな気も.う〜む......
そもそも本質は「そのスレの内容から抽出したキーワード」であるので、 ずれた要望はあんまり気にしない方が良いかと。 第一、次スレ検索を主目的にしようとしてる時点で趣旨が違う。 同じ話題が話されているのが次スレだけとは限らないし、 雑談スレなんかスレ毎にキーワードが違うのが当たり前。 関連キーワード検索は「そのスレの内容と同じ話題のスレを検索」 するのであって、「次スレを検索」は用途としてはあっていない。 (結果的に代用出来る場合もあるだけ)
437 :
動け動けウゴウゴ2ちゃんねる :2007/02/28(水) 01:50:16 ID:u1t4BgBC0
でも関連スレって別板に同じスレタイでたってることが多いし
ここにサンプルで貼ったスレ結構クリックされてるなw
半角仮名を関連キーワードに反映させることは出来ませんか?
>>439 単語の抽出に利用している MeCab は,半角カナを記号として扱ってしまうようですね.
キーワードとして利用するのは名詞だけなので......
メールボックスパンクするまで爆撃合戦するスレ
メールボックスパンク 記号,一般,*,*,*,*,*
する 動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
まで 助詞,副助詞,*,*,*,*,まで,マデ,マデ
爆撃 名詞,サ変接続,*,*,*,*,爆撃,バクゲキ,バクゲキ
合戦 名詞,サ変接続,*,*,*,*,合戦,カッセン,カッセン
する 動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
スレ 名詞,固有名詞,組織,*,*,*,*
EOS
メールボックスパンクするまで爆撃合戦するスレ
メールボックス 名詞,一般,*,*,*,*,メールボックス,メールボックス,メールボックス
パンク 名詞,サ変接続,*,*,*,*,パンク,パンク,パンク
する 動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
まで 助詞,副助詞,*,*,*,*,まで,マデ,マデ
爆撃 名詞,サ変接続,*,*,*,*,爆撃,バクゲキ,バクゲキ
合戦 名詞,サ変接続,*,*,*,*,合戦,カッセン,カッセン
する 動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
スレ 名詞,固有名詞,組織,*,*,*,*
EOS
ゆゆきし問題ですね
>>440 このあたりの Perl コード欲しいですか? jcode.pl だけでなんとかなるなら不要かもだけど
C言語でこのあたりのライブラリってどっかにあるのかな……
>>442 いや,正規化しようと思えばできないことはないんですけど,
パーサは c2.2ch.io の処理で一番重い部分なんで(ほとんどは
MeCab によるものですが),さらに重くするのがいいのかどうか,ってとこで.
# 仮に正規化するなら,1-way の変換ではなく MeCab の処理結果を元に戻す,
# ってとこまでやらなきゃならないですし.
半角カナを全角カナに変換して処理すればいいんじゃね
>>445 それが正規化ってことですが......ただ,半角で書かれたものを
全角のキーワードとして表示してもいいのならそれだけでもいいんですが,
半角のは半角のまま表示ということになると,いったん全角に変換したのを
半角に戻す処理も必要になって,そうなると処理が複雑になってくると.
不可能ではないんですが,重くなりそうだなぁ,と......
半角を全角にしてそのままでいいんじゃないかな
2ch検索の方で半角/全角片仮名の同一視が機能しているんなら、全角のままで良いんじゃないかい?
半角カナで独特のニュアンスを表現する 2ch の文化(?)を考えると 全角に変換したままってのもどうかなぁ......とも思ってたんですが, とりあえず全角のままでやってみます. 再クロールは2日周期なんで徐々に反映されるかと.
450 :
動け動けウゴウゴ2ちゃんねる :2007/03/05(月) 13:05:32 ID:ckCgsY7X0
451 :
動け動けウゴウゴ2ちゃんねる :2007/03/05(月) 18:26:45 ID:D+u/AYgk0
本文に書かれちゃうとどうしてもねぇ。
"ctaAcx"とか本文に出てきてないし
キーワード収集対象は本文とスレタイだけで,それ以外は対象外ですが......
と思ったら,
>>449 の時にミスったようですね,すみません.
これから(再)クロールされる分は正常になるかと.
455 :
動け動けウゴウゴ2ちゃんねる :2007/03/06(火) 18:25:54 ID:RZaN2IVv0
あれ落ちたスレの奴って吹っ飛ぶんだっけ? 前は生きてたと思ったけど
>>455 データが無限に膨張し続けないように,dat 落ちしたのは消すようになってます.
ただ,再クロールは2日周期なので,落ちてからデータが消えるまでのタイムラグはあると思いますが.
457 :
動け動けウゴウゴ2ちゃんねる :2007/03/08(木) 18:59:20 ID:cMnMtVSa0
それだと次スレ追跡には使いづらいわねえ
459 :
動け動けウゴウゴ2ちゃんねる :2007/03/11(日) 20:51:40 ID:L60sUdWe0
>>456 スレ落ち後は次スレ追跡モードに差し替えるとかは?
>>459 そのためのデータを保持することになれば,結局データが膨張し続けることになるし,
またデータを保持せず on the fly に生成させるとなると,忙しくなりすぎて破綻しそうだし......
いずれにせよ,過去ログ用に別途専用鯖等のリソースを投入するとかでもない限り困難ではないかと......
461 :
ひろゆき@どうやら管理人 ★ :2007/03/12(月) 12:41:31 ID:???0 BE:265076-DIA(103258)
過去ログ用に固定テキストをひたすら保存するサーバがあっても いいような気がしてきました。 つか、memoriesに同居とか。
>>461 memoriesそろそろ容量が少なくなってきてるらしいですよ・・・。
まあ、増設できるらしいですが・・・。
前にもらったtigerあまってないんですか?
それとbeのメール機能が時々おかしいので見てもらえるとうれしいです・・・。
なんかコストばっか掛かって利が無いような。 datにくっ付けちゃうってのはどうなの?できない?
464 :
動け動けウゴウゴ2ちゃんねる :2007/03/12(月) 20:38:10 ID:rmdcm8FM0
>>460 「次スレ追跡する」ボタンみたいにワンクッションおくとかは?
見たい人だけ使う
>>461 なるほど......ただ,memories だと HDD 容量もさることながら
httpd + offlaw.cgi なんかと競合しないかなぁ,とか(MySQL を
ストレスなく動かすには,メモリとかリソース結構食いますし).
>>462 残ってる stiger を専用で使うならリソースの競合とかは心配ないですね.
ただ,そんなに HDD 容量がデカいわけでもないんで...... とはいえ,
単にライブな dat のキーワードをコピーして保存するだけなら,
重要度計算用のデカいテーブル (regwords) は過去ログデータの方では
不要なんで,当面は心配ないかも.中長期的には問題ですが......
もっとも,問題が起きたらその時改めて考えよう,ということにしておけば
2ch らしいかも?w
>>463 dat にそういうデータを付けていいのかどうか,っていう
ポリシーの問題もあるかもですね.あと,dat 落ちを制御してる
F22 はいろいろ亜種ができてるらしいとかで,それぞれの鯖で
個別に F22 を改造しなきゃならないかも,っていうのも......
>>464 ワンクッション置いても,データ保存するとすれば
結局データ量が増大することに変わりないですし,
on the fly に生成するにしても,今の p2.2ch.io / c2.2ch.io は
リアルタイムにキーワード抽出する前提で作ってないので
苦しいことには変わりないです.
難しいかなって思うのもいいけど、がんがん試しちゃうのも吉。 もちろん試すのにいろいろ準備とかあって大変だとは思うけど。
試すにしても,ライブ dat のキーワード表示に悪影響を与えると元も子もないんで...... なので,過去ログに対処するなら専用鯖等のリソース投入が前提じゃないかなぁと.
まぁ,専用「鯖」でなくとも,今の c2 に過去ログ用にストレージ追加とかでもいいかもですけど.
470 :
動け動けウゴウゴ2ちゃんねる :2007/03/13(火) 20:31:36 ID:rUlVQy5G0
スタートレックをスタートとレックで区切るのやめて欲しい
まぁ,意図してる訳じゃないけど MeCab がそう区切ってるってことで......
>>470
472 :
ひろゆき@どうやら管理人 ★ :2007/03/14(水) 19:54:38 ID:???0 BE:403788-DIA(103258)
過去ログに関しては、関連キーワードが変更されることがないので、 スレッドkeyのテキストファイルを作って置いておくだけでいいと思うのです。 ってことで、mysqlはいらないかと。
>>472 なるほど......となると,あとは memories 等に
どういう形で入れればいいか,またそれをどうやって read.cgi で
表示させるか,ってあたりですか.ぼちぼち考えてみます.
475 :
ひろゆき@どうやら管理人 ★ :2007/03/14(水) 21:55:27 ID:???0 BE:265267-DIA(103258)
XMLにしてjavascriptでincludeみたいなのって出来ないんでしたっけ?
>>475 XMLHttpRequest だと同一ドメイン(というか実質同一鯖)の制限がありますが,
JSON ならその制限なしで可能です.というか,read.html 用 I/F では今も JSON 的な
やり方でやってます.ただ,read.cgi だとブラウザ側の JavaScript の処理能力の不安があって......
477 :
root▲▲ ★ :2007/03/15(木) 13:05:40 ID:???0 BE:4104959-PLT(23632)
1台、それ用のサーバを用意するかんじですかね。 memoriesのHDDに常時書き込み負荷をかけるのは、 できれば避けたいかも。
478 :
動け動けウゴウゴ2ちゃんねる :2007/03/15(木) 20:08:32 ID:/5nJizMU0
findたまに重いとか話出るけど冗長化しなくて大丈夫なの ふらだんすに振るとか
UNIX板のスレをOperaで見ると、今も
>>184 の現象
| Operaだと関連キーワードやofuda.ccのあれととスレの一番上の全部や掲示板に戻るが重なって
| 掲示板に戻るがクリックできない。
なのですが、
>>375-388 のは pc11 鯖には入ってないんでしょうか?
480 :
ひろゆき@どうやら管理人 ★ :2007/03/15(木) 22:58:59 ID:???0 BE:151564-DIA(103258)
HDDの速度がはやいハードウェアをどこかから調達するといい感じなんですかね。 T-Bananaサーバーの実験を手伝うって名目でなんとかしてもらうとか、、
名目て
482 :
ひろゆき@どうやら管理人 ★ :2007/03/15(木) 23:04:15 ID:???0 BE:126454-DIA(103258)
大義名分ってやつですよ。えぇえぇ。
483 :
フェンリル ◆Fenrir/gaQ :2007/03/15(木) 23:06:54 ID:Sg/SBOFd0 BE:140839632-PLT(15220)
自己板の規制解除しなさい
485 :
root▲▲ ★ :2007/03/16(金) 10:15:40 ID:???0 BE:2280555-PLT(23632)
>>484 > # むむむさんの
>>477 の真意は,「HDD にダメージを与えず長持ちさせたい」ってことじゃないかと.
ですね。
memoriesはデータ格納時以外はほぼread onlyで使いたいなと。
486 :
root▲▲ ★ :2007/03/16(金) 10:17:32 ID:???0 BE:2463539-PLT(23632)
>>480 HDDの容量が20G台でいいなら、
今使っていないstigerを1台、それ用に割り当ててみるとかですが、
もっと必要なかんじですかね。
487 :
ひろゆき@どうやら管理人 ★ :2007/03/16(金) 12:59:57 ID:???0 BE:95235-DIA(103258)
必要なHDD容量の算定からはじめてみますか。
「各スレ単位で必要な容量 x 過去ログ発生速度」で,どれだけの期間持つか,てな感じですか. データを .js のように直接表示できる形で保存するとサイズは大きくなるが CPU の仕事は少ない, 一方 CSV のような形で保存するとサイズは小さくなるが表示する際の CPU の仕事が増える,と. まぁ CPU の仕事が増えるといっても,現状 p2.2ch.io 1台で全ライブスレの getf.cgi 表示させてるぐらいなので,stiger を専用で割り当てるなら問題ないと思いますが. ただ,各スレ単位でファイル作ると,HDD 消費はバイト単位でなくフラグメントサイズ単位になるんですよね. HDD スペースの利用効率を向上させるには,1ファイルに複数のスレのデータを書き込んだ方がいいのか. その代わり,必要なデータを検索する仕事が増えると.1ファイルに書き込みつつ 検索も効率的にするには......結局 MySQL を使うとかなるのかな.
489 :
ひろゆき@どうやら管理人 ★ :2007/03/16(金) 22:31:20 ID:???0 BE:152238-DIA(103260)
freebsdのフラグメントサイズってどれくらいなんですか?
ひーさん2証なんとか汁><。
491 :
root▲▲ ★ :2007/03/16(金) 22:58:22 ID:???0 BE:1460328-PLT(23632)
>>489 デフォルトでは16k(16384)ですね。
man newfs
...
-b block-size
The block size of the file system, in bytes. It must be a power
of 2. The default size is 16384 bytes, and the smallest allow-
able size is 4096 bytes. The optimal block:fragment ratio is
8:1. Other ratios are possible, but are not recommended, and may
produce poor results.
4k まで小さくできますが、あんまりおすすめしないかも。
専門な話題なので横槍! フラグメントサイズはブロックサイズを8分の1したものがデフォルトで使われるので 2k(2048)バイト ではないかと。 newfs -b 16384 -f 2048 のように指定されているはずか、オプションなしのどちらかですね。 man newfs -f frag-size ファイルシステムのフラグメントサイズをバイト単位で指定します。 blocksize/8 から blocksize までの範囲の、2 のべき乗である必要があります。 デフォルトは 2048 バイトです。
493 :
root▲▲ ★ :2007/03/16(金) 23:48:12 ID:???0 BE:2463539-PLT(23632)
>>492 確かに、フラグメントサイズとブロックサイズは別物ですね。
ご指摘&補足すみませんです。
494 :
ひろゆき@どうやら管理人 ★ :2007/03/17(土) 12:36:35 ID:???0 BE:403788-DIA(103270)
過去ログのファイル数ってどれくらいなんすかね。。
各板のライブスレ数は大きく変動しないという前提なら, 過去ログ発生速度≒新スレが立つ速度 なのかなぁ......
これどういうシステムなの? どうやったら反映されるの?
スレ内の全レスから単語抽出、DB化して、一定の条件で最頻と思われる 単語を表示させる。
>133 多分92のキーワードというのがスレの関連した語句になるので、それの検索は考えています。 自動的に"「74」「SevenFour」"など関連した語句の摘出は、ネタとしては面白いのですが、 難易度が高いというか、スレ名によっては多分バカ検索になるので、やるとしても実験的な機能としての 実装になります。多分正解は134さんが書かれているスレッド検索に正規表現をサポートでしょう。 >135 いろいろ作っていますが、どれも中途半端でして、、、 >136-139 先にも書きましたが、弱いとか、上手くいかないのではなく、元々対応していないというのが正解のようです。 今回版で一応修正しましたので、御報告いただければ助かります。 >141 >●対応って、面倒なの? 有償アカウントが必要なんですよね? いまのところ対応予定無しです。 >それと、まちBBSとかが見れないんだけど 過去ログを見ると2chに完全対応したら対応させる等書かれていましたので、メニューのトップには 表示されていますが、対応していません。対応させたいのですが、他が優先順位が高いので調査等保留状態です。 >142 すみません。ちょっと意味が判りません。 >143 まだ考え中ですが、本体側ではスレへアクセスの時に毎回キーワード取得してデータベースに溜めていきます。 あとキーワードを入力するIFを用意してユーザーからも入力が可能とします。 js側のAPIはデータベースへアクセスするsfSystem.getKeywordsとsfSystem.setKeywordを用意します。 溜められたデーターは検索やスマートボードに使ったり出来ます。 データベース内の削除は必要かなぁ。と 時間がなかなか取れないので、そんな感じで止っています。
499 :
498 :2007/04/01(日) 17:29:44 ID:azmkmmMB0
あう、誤爆すまん。
500 :
動け動けウゴウゴ2ちゃんねる :2007/04/01(日) 21:24:12 ID:E7umBdRz0
501 :
動け動けウゴウゴ2ちゃんねる :2007/04/06(金) 19:29:06 ID:vyYNJZL70
同じキーで何回も検索するとヒット数がまちまちになるぞ ヒットしたりしなかったりするスレがある模様
502 :
nanasi :2007/04/07(土) 17:34:36 ID:fHLFxxU/0
503 :
動け動けウゴウゴ2ちゃんねる :2007/04/25(水) 18:23:22 ID:0Clz8p7L0
>>497 スレ内に一度も出てない単語はキーワードとして表示されないの?
505 :
動け動けウゴウゴ2ちゃんねる :2007/04/27(金) 18:31:25 ID:3Jd+uTfZ0
506 :
動け動けウゴウゴ2ちゃんねる :2007/04/28(土) 23:33:49 ID:atmqjoj00
ひらがなとカタカナの2字ははじこうぜ
507 :
動け動けウゴウゴ2ちゃんねる :2007/04/30(月) 01:25:58 ID:2vpscozg0
前後の状況によって「アイコン」の区切りはまちまちになるみたいですねぇ<MeCab 【Be】アイコン売買促進スレ★7【icon】 【 記号,括弧開,*,*,*,*,【,【,【 Be 名詞,固有名詞,組織,*,*,*,* 】 記号,括弧閉,*,*,*,*,】,】,】 アイコン 名詞,固有名詞,一般,*,*,*,* 売買 名詞,サ変接続,*,*,*,*,売買,バイバイ,バイバイ 促進 名詞,サ変接続,*,*,*,*,促進,ソクシン,ソクシン スレ 名詞,一般,*,*,*,*,* ★ 記号,一般,*,*,*,*,★,★,★ 7 名詞,数,*,*,*,*,* 【 記号,括弧開,*,*,*,*,【,【,【 icon 名詞,固有名詞,組織,*,*,*,* 】 記号,括弧閉,*,*,*,*,】,】,】 EOS 2ちゃんねる beアイコン サイト 2 名詞,数,*,*,*,*,2,ニ,ニ ちゃん 名詞,接尾,人名,*,*,*,ちゃん,チャン,チャン ねる 動詞,自立,*,*,一段,基本形,ねる,ネル,ネル be 名詞,固有名詞,組織,*,*,*,* アイコン 名詞,一般,*,*,*,*,* サイト 名詞,一般,*,*,*,*,サイト,サイト,サイト EOS アイコン全リスト、販売者登録所、価格情報ほか アイコ 名詞,固有名詞,一般,*,*,*,アイコ,アイコ,アイコ ン 名詞,非自立,一般,*,*,*,ン,ン,ン 全 接頭詞,名詞接続,*,*,*,*,全,ゼン,ゼン リスト 名詞,一般,*,*,*,*,リスト,リスト,リスト 、 記号,読点,*,*,*,*,、,、,、 販売 名詞,サ変接続,*,*,*,*,販売,ハンバイ,ハンバイ 者 名詞,接尾,一般,*,*,*,者,シャ,シャ 登録 名詞,サ変接続,*,*,*,*,登録,トウロク,トーロク 所 名詞,接尾,一般,*,*,*,所,ショ,ショ 、 記号,読点,*,*,*,*,、,、,、 価格 名詞,一般,*,*,*,*,価格,カカク,カカク 情報 名詞,一般,*,*,*,*,情報,ジョウホウ,ジョーホー ほか 名詞,副詞可能,*,*,*,*,ほか,ホカ,ホカ EOS アイコンショッパー アイコンショッパー 名詞,固有名詞,組織,*,*,*,* EOS 他板のアイコンスレ(2ちゃんねる検索) 他 接頭詞,名詞接続,*,*,*,*,他,タ,タ 板 名詞,一般,*,*,*,*,板,イタ,イタ の 助詞,連体化,*,*,*,*,の,ノ,ノ アイコンスレ 名詞,一般,*,*,*,*,* ( 記号,括弧開,*,*,*,*,(,(,( 2 名詞,数,*,*,*,*,2,ニ,ニ ちゃん 名詞,接尾,人名,*,*,*,ちゃん,チャン,チャン ねる 動詞,自立,*,*,一段,基本形,ねる,ネル,ネル 検索 名詞,サ変接続,*,*,*,*,検索,ケンサク,ケンサク ) 記号,括弧閉,*,*,*,*,),),) EOS
509 :
動け動けウゴウゴ2ちゃんねる :2007/05/03(木) 16:13:12 ID:X+h1qUif0
カタカナやひらがなで直後にンが来る語句は ンの直前で区切っちゃいけないんじゃないの
510 :
動け動けウゴウゴ2ちゃんねる :2007/05/13(日) 23:52:21 ID:MYLVfRHs0
syosinsya
513 :
動け動けウゴウゴ2ちゃんねる :2007/05/16(水) 02:45:21 ID:hDvpyprTO
とまと
514 :
動け動けウゴウゴ2ちゃんねる :2007/07/03(火) 00:54:54 ID:jUIBhvnj0
515 :
動け動けウゴウゴ2ちゃんねる :2007/07/11(水) 19:21:02 ID:YcnBJDt20
メンテ予告とかメンテ中の表示とかすこしは工夫すればいいのに
だね
517 :
' :2007/07/26(木) 13:46:00 ID:SSKwDJ+BO
ぴろゆきどこにいるんですか??
518 :
動け動けウゴウゴ2ちゃんねる :
2007/09/18(火) 01:02:17 ID:iAwGFgtR0 あのさクリックされたのとか実際に検索で使われてるやつの優先度あげない?