X



トップページ運用情報
518コメント226KB
関連キーワードをなんとかしようスレ
■ このスレッドは過去ログ倉庫に格納されています
0001ひろゆき@どうやら管理人 ★
垢版 |
2006/12/17(日) 13:08:47ID:???0?S★(101667)
read.cgiの片隅に表示されている関連キーワードを
きちんとメンテナンスしてみようなスレッド。
0178 株価【1300】◆cZfSunOs.U
垢版 |
2007/01/25(木) 18:28:22ID:5LW/yCI10
>>177 なるほど......やはり機能的にはそうなんですよね.
ただ,MyISAM vs InnoDB のベンチマーク結果の載ってるサイトとか見て回ってると,
パフォーマンス面で一抹の不安があったり......まぁベンチはいろんな条件次第で
結果は変わってくるんで,どっちに転ぶかは実際やってみないとわからないんですけどね.
0179ひろゆき@どうやら管理人 ★
垢版 |
2007/01/25(木) 18:59:41ID:???0?S★(102442)
実際に試してみるほうが早いかもですね。
0180 株価【1300】◆cZfSunOs.U
垢版 |
2007/01/25(木) 19:15:59ID:5LW/yCI10
>>179 まぁそうですね.やるとすると

1. テーブルの MyISAM -> InnoDB 変換.
2. MyISAM では COUNT(*) が高速ということに依存してる部分があるので,
  レコード数を保持するテーブルを新設して COUNT(*) をなくす.
3. 登録時に START TRANSACTION 〜 COMMIT を使う
  (2. と併せ登録用ストアドプロシージャを変更).
4. my.cnf に InnoDB 用の設定を入れる.

ってのをやることになりますが,特に 1. とかやると時間がかかりそうなんで,
今夜のピーク時間帯以降にぼちぼちって感じで......
0181ひろゆき@どうやら管理人 ★
垢版 |
2007/01/25(木) 20:08:23ID:???0?S★(102442)
>3. 登録時に START TRANSACTION 〜 COMMIT を使う
使わないほうが早くないすか?
0182 株価【1300】◆cZfSunOs.U
垢版 |
2007/01/25(木) 20:25:26ID:5LW/yCI10
>>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
0183ひろゆき@どうやら管理人 ★
垢版 |
2007/01/25(木) 21:19:00ID:???0?S★(102442)
おぉ、、ストアードプロシージャーをすでに使ってるんですかぁ。
ラジャーです。
0184ノtasukeruyo
垢版 |
2007/01/25(木) 22:12:16ID:K8P4JlkZ0?2BP(115)
Operaだと関連キーワードやofuda.ccのあれととスレの一番上の全部や掲示板に戻るが重なって
掲示板に戻るがクリックできない。
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; ja) Opera 9.02
0185動け動けウゴウゴ2ちゃんねる
垢版 |
2007/01/26(金) 00:26:59ID:CxnnXu9Q0
これって、全部、普通のブラウザからの機能ですよね
2ch専用ブラウザにデータを渡して貰えば、クライアントで処理できるんじゃないの?

話題がそれていたらご免なさい 専用ブラウザ使っているから、見ること無いでね
0186ひろゆき@どうやら管理人 ★
垢版 |
2007/01/26(金) 04:05:53ID:???0?S★(102442)
getf.cgiの使い方を説明すればいいんですかね?

http://p2.2ch.io/getf.cgi?http://qb5.2ch.net/test/read.cgi/operate/1166328527/

0189動け動けウゴウゴ2ちゃんねる
垢版 |
2007/01/26(金) 07:15:29ID:G006ntY00
>>185
まー確かに一理あるな。<2chブラから情報収集
技術的に可能かどうかより、ひろゆきが望むかどうかなんだが。
0190動け動けウゴウゴ2ちゃんねる
垢版 |
2007/01/26(金) 11:07:05ID:hJoWPiym0
>>189
望むも何も、>>186が答えだろ。
少なくても今の段階では、外部からも自由に使ってみて良いんだと思う。
駄目ならその内アクセス制限掛けるだろうし。

専ブラ側でget.cgiをコールすればキーワードが返ってくるから、
後は専ブラ側でどうぞと。

つう訳で人柱になる専ブラ無いかな。
0191動け動けウゴウゴ2ちゃんねる
垢版 |
2007/01/26(金) 12:21:58ID:G006ntY00
>>190
Jane派生といくつかの2chブラから閲覧はできる。
見るだけならその通り。

2chブラウザからのアクセス統計も集めるかどうかですよ。
0192ひろゆき@どうやら管理人 ★
垢版 |
2007/01/26(金) 12:22:59ID:???0?S★(102442)
専ブラ開発系のスレッドで告知すればいいんですかね?
0193外野ァァン
垢版 |
2007/01/26(金) 12:25:28ID:UA1Fteu60
そこでメールマガジンですよ
0194動け動けウゴウゴ2ちゃんねる
垢版 |
2007/01/26(金) 12:27:48ID:G006ntY00
>>192
うーん数多いから面倒だろ
ここで公示すればどうよ。
0195こんなんで良い?
垢版 |
2007/01/26(金) 12:46:09ID:G006ntY00
ひろゆきが2chブラウザから関連キーワードを閲覧できるようにしてちょうだいって言ってる。
http://qb5.2ch.net/test/read.cgi/operate/1166328527/186

186 名前:ひろゆき@どうやら管理人 ★[] 投稿日:2007/01/26(金) 04:05:53 ID:???0 ?S★(102442)
getf.cgiの使い方を説明すればいいんですかね?

http://p2.2ch.io/getf.cgi?http://qb5.2ch.net/test/read.cgi/operate/1166328527/

閲覧可能にしてほしいって言ってるだけで、2chブラからの集計はしてないですよ。
0196こんなんで良い?
垢版 |
2007/01/26(金) 12:50:06ID:G006ntY00
>>195の底はおすすめ2ちゃんねるとゴッチャになってた。スマソ。
0197動け動けウゴウゴ2ちゃんねる
垢版 |
2007/01/26(金) 15:05:09ID:CxnnXu9Q0
一種の検索ソフトだから、それなりにあるんじゃない?
ググルとか、ヤッホーとか、MSとか やってるからね

専ブラで、負荷分散すればそれなりのが出来るかもしれないけど
上記とぶつかると思うよ
0198 株価【1100】◆cZfSunOs.U
垢版 |
2007/01/26(金) 15:05:12ID:nob1pVtF0
さて,>>180 をやろうかな......ってことで,しばらく止まります.

>>184 下線付近のごく狭い領域ならクリックできたりしませんか?
0200動け動けウゴウゴ2ちゃんねる
垢版 |
2007/01/26(金) 15:58:14ID:CxnnXu9Q0
関連キーワードを取得しますか?しませんか?
関連キーワードログを保存しますか?しませんか?
関連キーワード登録しますか?しませんか?
関連キーワードデータをアップロードしますか?しませんか?

パケット課金ユーザーには、無縁の話しかも知れません
あっても良いなの機能ですが
0202 株価【1100】◆cZfSunOs.U
垢版 |
2007/01/26(金) 16:03:16ID:nob1pVtF0
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 使ってるので,それの関係ですかね......
0204root▲▲ ★
垢版 |
2007/01/26(金) 16:58:08ID:???0?PLT(23456)
>>202
> % limit -h datasize
> datasize 524288 kbytes

FreeBSD/i386 って、これ、増やせるんでしたっけ、、、。
0205root▲▲ ★
垢版 |
2007/01/26(金) 17:29:26ID:???0?PLT(23456)
ちなみに FreeBSD 6.2R/amd64 だと、

datasize 33554432 kbytes

になっているです。
0206root▲▲ ★
垢版 |
2007/01/26(金) 17:35:00ID:???0?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);

となっているのか。
0207root▲▲ ★
垢版 |
2007/01/26(金) 17:38:58ID:???0?PLT(23456)
TUNABLE_ULONG_FETCH ってことは、/boot/loader.conf に書いて再起動か。
とりあえず、

kern.maxdsiz="2048m"

とかですかね。
0208root▲▲ ★
垢版 |
2007/01/26(金) 17:45:30ID:???0?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
0209 株価【1100】◆cZfSunOs.U
垢版 |
2007/01/26(金) 18:00:28ID:qjITJywp0
>>204-208 乙です.kern.maxdsiz とかは元々なくって,自分で新たに定義するものなんですね.
# どおりで,sysctl -a の出力からそれらしきものを探してもなかったわけだ......
0210 株価【1100】◆cZfSunOs.U
垢版 |
2007/01/26(金) 18:17:21ID:qjITJywp0
default-storage-engine = InnoDB

>>202 に加え,↑の設定も入れますた.で,MySQL は無事立ち上がり,
現在 MyISAM -> InnoDB にテーブル変換中......
0211 株価【1100】◆cZfSunOs.U
垢版 |
2007/01/26(金) 18:26:52ID:qjITJywp0
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
0215動け動けウゴウゴ2ちゃんねる
垢版 |
2007/01/26(金) 23:02:10ID:CxnnXu9Q0
jane 使ってみた コマンドを書くの?

タイトルの前に3つ出すの書ける?
0217 株価【1100】◆cZfSunOs.U
垢版 |
2007/01/26(金) 23:22:57ID:qjITJywp0
未だ 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
0218ひろゆき@どうやら管理人 ★
垢版 |
2007/01/26(金) 23:52:45ID:???0?S★(102442)
InnoDB!InnoDB!
0219動け動けウゴウゴ2ちゃんねる
垢版 |
2007/01/27(土) 00:06:44ID:CxnnXu9Q0
スレ立て人のCPU借りて結果だけ貰えば?
0221 株価【1150】◆cZfSunOs.U
垢版 |
2007/01/27(土) 19:09:39ID:vVc+ALlX0
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
0222 株価【1150】◆cZfSunOs.U
垢版 |
2007/01/27(土) 19:11:47ID:vVc+ALlX0
ただ,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
0223動け動けウゴウゴ2ちゃんねる
垢版 |
2007/01/27(土) 22:15:46ID:FzgyxveM0
思い出した 昔、あったな、社会とかのボタン 無くなったんだよな確か?
記憶力弱いんで違ってたらスマソ
3回目か ホリエモンの1クリック程度の価値有ったのだろうか?

意外と進歩してないモンだな
辞書をロカールに於いて、集めてきて賢くするだったかな?
英和、和英何てのも有った 思い出すことは出来ないだろうが
0224 株価【1150】◆cZfSunOs.U
垢版 |
2007/01/27(土) 22:22:23ID:vVc+ALlX0
>>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 も働き出した.
0225 株価【1150】◆cZfSunOs.U
垢版 |
2007/01/27(土) 22:24:45ID:vVc+ALlX0
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 への切り替えはプラス側に転んだ,ということでいいのかな.
0226root▲▲ ★
垢版 |
2007/01/28(日) 00:06:46ID:???0?PLT(23456)
おつでした。

しかし InnoDB の本来の力を発揮させるには、
プログラミング上の注意も必要、ということですか。
0227 株価【1150】◆cZfSunOs.U
垢版 |
2007/01/28(日) 00:50:48ID:1hnX6v6C0
>>226 まぁそうですね.とはいえ,
http://www.drk7.jp/MT/archives/000941.html
http://www.thinkit.co.jp/cert/article/0603/10/5/3.htm
あたりのベンチマークとか見てて,InnoDB だと重くてピーク時間帯に
c2 が死ぬんじゃないかとかビビってたり,
http://d.hatena.ne.jp/naoya/20060729/1154139996
では CPU 等のリソースが有り余ってれば InnoDB でいいんじゃない?
というような感じのことが書いてありますが,c2 はパーサで
CPU 食うんでそんな有り余ってる訳じゃないし......
などと心配してたんですが,杞憂だったようでめでたしめでたし.
0228ひろゆき
垢版 |
2007/01/28(日) 02:03:16ID:kfF9e/oF0
デッドロックってあるんすねぇ。
0229ひろゆき
垢版 |
2007/01/28(日) 06:26:08ID:LqzQYav/P
あるある。
0231動け動けウゴウゴ2ちゃんねる
垢版 |
2007/01/30(火) 02:15:25ID:Zy7MyLC40
完走したニューススレの次スレ追跡に一応使える
本当はおすすめ2ちゃんねるのほうで対応して欲しいが
0232 株価【1200】◆cZfSunOs.U
垢版 |
2007/01/31(水) 23:44:43ID:cgGwpA1R0
さすがに 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)
0235ひろゆき@どうやら管理人 ★
垢版 |
2007/02/01(木) 06:07:00ID:???0?S★(102451)
伊能忠敬。
0237動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/01(木) 06:24:20ID:KaM0p+C80
適切なリアクションが思いつかない自分を不甲斐なく思うよ
きっと就活の面接に落ち続けてる俺に“足りない何か”
を見つけるきっかけはここいら辺にあるんだと思う
0239 株価【E】◆cZfSunOs.U
垢版 |
2007/02/01(木) 17:41:48ID:tw69i4h/0
[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)
0242root▲▲ ★
垢版 |
2007/02/01(木) 18:38:42ID:???0?PLT(23456)
で、すごいバカな質問かもなんですが、
accept.lock って、そもそも作らないとまずいんでしたっけ。
0243 株価【E】◆cZfSunOs.U
垢版 |
2007/02/01(木) 23:32:08ID:tw69i4h/0
>>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 生成で失敗しなくなる,とかいうことないんでしょうか?
0244root▲▲ ★
垢版 |
2007/02/02(金) 09:56:43ID:???0?PLT(23456)
>>243
ふむふむ。

一般的なサーバは、fstab にしてもいいかもしれないですね。
/md の大きさや設定は各サーバの事情によって結構変えているので、
/etc/fstab にあまり書きたくなかった、という事情がありました。

あと、FreeBSD 5.x のバージョンアップの時に、
fstab に md の設定を書いていると mount でしくって、
single user mode になってしまう、というのもありますね。

毎回 /md の mount をしないようにしてから作業すればいいんですが、
それよりも、別にスクリプトを書こうと。

…というか、たぶんきっと rcorder をちゃんと書けばいいような予感。
0245 株価【1300】◆cZfSunOs.U
垢版 |
2007/02/02(金) 22:57:15ID:Bmi4rzRV0
>>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.
0246root▲▲ ★
垢版 |
2007/02/02(金) 23:41:03ID:???0?PLT(23456)
なるほど、ZZZ- を 000- とかにすればいいと言ってますかね。
あるいは、/md の mount 部分だけを 000- で切り出すとか。
0247動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/03(土) 21:03:29ID:HwPyiOiV0
¶      ¶\
         ¶  .\¶¶¶..¶,/¶ ヽ
        ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶、
       ¶¶¶¶¶¶エルメェス¶¶¶¶¶¶¶¶
      ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶i
      ¶<=○=><=○=>  ¶i   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶* i <  (ヘイッ!私のギコクンどこ?
        ¶:、¶¶¶ー□‐¶¶¶¶¶¶¶/   \_____________________
         ¶|¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶
         ¶ ¶¶¶¶¶¶¶¶¶¶¶¶¶ ¶¶¶¶¶ |ヽ
         ¶ ¶¶¶¶¶¶¶¶¶¶¶¶¶   ¶¶丿 ¶
         ¶ ¶¶¶¶¶¶¶¶¶¶¶¶¶¶    )_ノ
        (.,.,.,.,..,).,.,.,..,.,.,.(,..,.,.,.,..,.),.,.,,../

¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶

 ¶¶¶¶¶¶
 ¶*゚ー゚ ¶ ヘイッ!私のギコクンどこ? 
 U  U
  く く

¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶

このAAをみてから10日以内にこれと同じ内容を10回書き込まないと、
両腕をもがれて死にます。

虐厨はうそつきだと思ったみなさん。
すいません。
虐厨はうそつきではないのです。
しにたくないだけ、なんです。
0248ひろゆき@どうやら管理人 ★
垢版 |
2007/02/07(水) 15:50:30ID:???0?S★(102456)
落ち着いてる感じすかねぇ。
0250動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/07(水) 18:37:19ID:wkuTWEQx0
ってか
どのくらいの利用者がいるのかしらん
0252動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/07(水) 19:02:15ID:7WNqMS4H0
関連キーワードってIEとかでスレを見たときに上の方に表示されるキーワードのことでいいのかな?

専ブラ使いなので初めて知った・・・
使わせたいなら専ブラ作者に対応してもらった方が。
0253動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/07(水) 19:05:25ID:wkuTWEQx0
専ブラでスレタイ検索できるから別段不自由はしていないが
IEで使ってる人がどのくらい居るのかは気になる

AAにも反応するからオレはIEからでもあんまり使ってないけど
0254ひろゆき@どうやら管理人 ★
垢版 |
2007/02/08(木) 12:54:37ID:???0?S★(102457)
>>251
クリックすると、、
0255動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/08(木) 12:56:38ID:SwbVAbUi0
なんて親切なひと!
0256動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/08(木) 12:59:40ID:H/+DvQle0
まろゆき狼なおして
0257動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/08(木) 13:00:11ID:Lff8vXpU0
ex21鯖への移行実験中にパーミッション設定ミス。
403エラーが出るようになった。
本日午前四時半すぎから。

止 http://ex21.2ch.net/accuse/ [板をp2で開く] 2ch批判要望
活 http://ex21.2ch.net/ad/ [板をp2で開く] 宣伝掲示板
止 http://ex21.2ch.net/campus/ [板をp2で開く] 大学生活
止 http://ex21.2ch.net/f1/ [板をp2で開く] モータースポーツ
止 http://ex21.2ch.net/k1/ [板をp2で開く] 格闘技
止 http://ex21.2ch.net/keiba/ [板をp2で開く] 競馬
止 http://ex21.2ch.net/livemarket1/ [板をp2で開く] 市況実況1
止 http://ex21.2ch.net/morningcoffee/ [板をp2で開く] モ娘(狼)
止 http://ex21.2ch.net/net/ [板をp2で開く] ネットwatch
止 http://ex21.2ch.net/tv/ [板をp2で開く] テレビ番組
止 http://ex21.2ch.net/tvd/ [板をp2で開く] テレビドラマ


これ、なんとか汁。
0258動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/08(木) 13:00:23ID:HwISqHfq0
ex21鯖の復旧をお願いします。 >>ひろゆきさん。
0260動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/08(木) 15:53:25ID:4NLUwEjW0
>>254
あ。そだ<ひろゆき
この関連キーワードを2chブラに広めたいんだって言ってたよな。
ソフ板に告知スレを立てればええやん。
2ゲト禁止ってか常にスレ上位にある告知みたいなのを。
0261ひろゆき@どうやら管理人 ★
垢版 |
2007/02/12(月) 02:31:55ID:???0?S★(102462)
>>260
わくわく。。。
0268動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/12(月) 02:50:35ID:QI7Xx41p0
ひろゆきニュー速なんとかしてくれ
0269動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/12(月) 02:52:05ID:jkUMC5Rp0
VIPを2つに割る作戦か?
0272動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/12(月) 03:20:59ID:g5XsDYufO
>>261
若ハゲ?隠してやんよ
 彡⌒ ヽ
 ( ;ω;)=つ≡つ∧_∧
 (っ ≡つ=つ∧_∧
 /   ) ババババ
 ( / ̄∪
0273動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/12(月) 03:36:30ID:PzLrTs7o0?2BP(1617)
>>261
ポイントくれ
0275動け動けウゴウゴ2ちゃんねる
垢版 |
2007/02/12(月) 03:50:01ID:xclIIkDO0
>>261
わくわくされたのでやってみるわ。
こんなのをhttp://pc9.2ch.net/test/read.cgi/software/9242006211/
ソフ板に立てりゃ良いのだろ?
 ↓
★☆ひろゆきから2chブラウザ作者さんへお願い☆★

ひろゆきが2chブラウザから関連キーワードを閲覧できるようにしてちょうだいって言ってるです。
http://qb5.2ch.net/test/read.cgi/operate/1166328527/186,192

186 名前:ひろゆき@どうやら管理人 ★[ ] 投稿日:2007/01/26(金) 04:05:53 ID:???0 ?S★(102442)
getf.cgiの使い方を説明すればいいんですかね?

192 名前:ひろゆき@どうやら管理人 ★[] 投稿日:2007/01/26(金) 12:22:59 ID:???0 ?S★(102442)
専ブラ開発系のスレッドで告知すればいいんですかね?

つー訳で2chブラウザ作者さんは関連キーワードを閲覧できるようにしてください。
2ちゃんねるwiki 関連キーワード(編集用ページ壬)
http://info.2ch.net/wiki/pukiwiki.php?%CA%D4%BD%B8%CD%D1%A5%DA%A1%BC%A5%B8%BF%D1
 ↑
あ、対応してるかどうか、導入方法を知らせないとダメか。
じゃ普通にスレ立てするぞ。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況