2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

質疑応答因果応報拡散微希望 byト

473 :モルモットさん(金)(地震なし):2012/09/12(水) 12:27:54.95 ID:84VmTVox0
2chの動作報告はここで。 パート26
http://qb5.2ch.net/test/read.cgi/operate/1339501932/129-131

129 garnet ★ sage 2012/09/12(水) 01:14:07.89 ID:???0
原因と対処について簡単に書きます。

58分問題をみてみようとninja.2ch.netにログイン

原因元のスクリプトを弄ってるとMySQLが詰まりだす

maido3の中の人がリブート

忍法帖DBが更新されずさらに壊れる

よくわからないので強制Lvセット+P付与するように修正

寝る〜出勤〜帰宅

一部DB情報をリセット

スクリプトを元に戻す

というわけで、ごめんなさいー。。。

131 garnet ★ sage 2012/09/12(水) 08:48:15.70 ID:???0
もうちょっと詳しく。

・58分問題
cronで58分に実行するDBクリーンアップスクリプトが多分犯人。
最後(最初?)に新規忍法帖を更新してから60日経ったものを消す処理。
対象テーブルはMyISAM、100万行、where条件はUNIX時間のカラム(非INDEX)。
処理が終わるまで50秒程。
処理件数は大体1000件程度。

limit 100 でループする処理を入れてみた。

・MySQLの詰まり
Too many connectionsが発生。
dmesgにkern.ipc.maxpipekva exceeded; see tuning(7)が表示。
root無いのでspeedyとhttpdをkillしてみるもだめぽ。

・リブート後
何故か忍法帖DBが更新されない。
というか、新規忍法帖が発行されない。
mysqldumpしてどのテーブルをリセットしたらいいか試行錯誤。
Redisを見つけるもよくわからない。
朝4時で眠いので、LvとPを強引にセットして返すように変更。

・Redisのリセット
perl -MRedis -e '$r=Redis->new(server=>"127.0.0.1:6379");for(2,3){$r->select($_);for($r->keys("*")){$r->del($_);}}'

・SQLクエリの修正
Uniq Indexが設定されてるカラムでSelectするときにlimit 1を入れてみた。
同様にUpdateするときもlimit 1するようにしてみた。

そろそろ時間やばいので出勤してきます。。

#こっちでやってたのね・・・

383 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)
Hello 2ch !!
ERROR NO=0

maxLA=80.000000
LA=0.000000
2021/02/26 23:17:20 日本時間が取れるようになりました。
/operate2/1347121794/473 PATH_INFO
(null) QUERY_STRING
/home/ch2qb7/public_html/test/ cwd
/home/ch2qb7 home
qb7.2ch.net server name

ita[operate2]
key[1347121794]
res[473]
where[3]
size[391392]
time[1347714567000000] LastModifyed 今回は無しの方向で、

lineN[1001]
subject[質疑応答因果応報拡散微希望 byト]

st[472]
to[472]
ls[0]
nf[1]
xxx[473]