TWITTER BUTLER
TWITTER執事 つい爺
Arcanum_jp
自己紹介
• 細川 慎也
• 宮城県の企業に勤めています。
• SI系、いわゆるITドカタ
• 今は短期出張中です。
• Twitter ID: arcanum_jp
• facebook : 本名で登録しています。
• その他サービス
• arcanum_jp / arcanum.jp / arcanumjp …
Twitter執事 つい爺
• Twitter上で意外とやる同じ動作
• おはようのあいさつ
• アイコンの変更
• メンションへのとりあえずの返答
• おやすみのあいさつ
Twitter執事 つい爺
• Twitter上で意外とやる同じ動作
• おはようのあいさつ
• アイコンの変更
• メンションへのとりあえずの返答
• おやすみのあいさつ
Twitter執事 つい爺
例えば画像を変更する
6:30 12:00 13:00 00:10
おはよーーー お昼だ~!! お昼おわった~
Twitter執事 つい爺
• 例えば画像を変更する
• メンションで変更するのも可能
• @twitterbutler アイコン 泣く
Twitter執事 つい爺
• え?これってBot作る・・・ 略
Twitter執事 つい爺
• え?これってBot作る・・・ 略
数あるBot作成系サービス
• twittbot.net
• Botbird
• MakeBot
• Bot Maker
• charabot
・・・
Twitter執事 つい爺
• 2012年6月開始
• ユーザー数: 700 / 2000 (アクティブ/総数)
Twitter執事 つい爺
• 2012年6月開始
• ユーザー数: 700 / 2000 (アクティブ/総数)
Twitter執事 つい爺
• Bot作成が面白い時期があった
• 実装はJavaです。
• Botのフレームみたいなものが頭んなかに出来上がった
• TwittBot.netを見てこれなら俺もできる
• 沢山自分でボットが作れるぞ!
• べ、別に収益化したいわけじゃないもん・・・
Twitter執事 つい爺
• 作りました:http://twitterbutler.com
Twitter執事 つい爺
• 作りました:http://twitterbutler.com
最近の出来事
• ユーザーさんのタスクが想定外すぎる
• RT
• 想定:1時間に1回ぐらいやるのかな・・・ →1個のタスクで十分
• 実際:1時間ごとにタスク作ってた →0:00~23:00の24タスク
• タスクの作りによっては、レイトリミットを軽く超えるようになっていた
• ツイートのテンプレート数
• 想定:まぁ、あんまり入力しないだろうな・・・
• 実際:一人で1000も2000もテンプレート登録
• その他
最近の出来事
• ユーザーさんのタスクが想定外すぎる
• RT
• 想定:1時間に1回ぐらいやるのかな・・・ →1個のタスクで十分
• 実際:1時間ごとにタスク作ってた →0:00~23:00の24タスク
• タスクの作りによっては、レイトリミットを軽く超えるようになっていた
• ツイートのテンプレート数
• 想定:まぁ、あんまり入力しないだろうな・・・
• 実際:一人で1000も2000もテンプレート登録
• その他
最近の出来事
• DOS攻撃
• IPしか分からない人、有名サイト、有名大学、バイなんとか・・・
• DOS攻撃じゃないけど、クローラーの攻撃がひどすぎる
• ログ見るとこれでコネクションが枯渇してサービス停止もあった
• 対策:
• さくっと短期間にアクセスする輩は静的なごめんなさい画面に
• それでも来るのはブラックリスト化
最近の出来事
• サーバーの容量が700Kbに・・・ 一時
• なぜじゃーーーー(汗)
• 一時、サービスが立ち行かないぐらい不安定に。
• 再起動しても起動が遅い。
• そもそもサーバーにつながりづらい・・・
• ログだ!ログテーブルが怪しい! コイツが大きすぎる?
• select count(1) from xxx がもう20分ほど待っても返らない
• もうtruncate実施!でも変わらない!
• 対策:
• とりあえずAWS上のストレージを5Gほど増やす
最近の出来事
• サーバーの容量が700Kbに・・・ 一時
• なぜじゃーーーー(汗)
• 一時、サービスが立ち行かないぐらい不安定に。
• 再起動しても何もできない。
• そもそもサーバーにつながりづらい・・・
• ログだ!ログテーブルが怪しい! コイツが大きすぎる?
• select count(1) from xxx がもう20分ほど待っても返らない
• もうtruncate実施!でも変わらない!
• 対策:
• AWS上のストレージを5Gほど増やす
• 原因:
• PostgreSQLのトランザクションログが膨大になっていた。
• トランザクションログ消したら7G以上空きが・・・・
最近の出来事
• Connectionが枯渇
• 想定コネクション:300
• 原因:
• スレッド(数秒~数分で消える)にコネクションを持たせていた
• 設計上この方が綺麗に見えた。
最近の出来事
• Connectionが枯渇
• 想定コネクション:300
• 原因:
• スレッド(数秒~数分で消える)にコネクションを持たせていた
• 設計上この方が綺麗に見えた。
• 解決策:
• コネクションをその都度取るようにした。
• トランザクション関係ないサービスなのでこれで良し
最近の出来事
• OutOfMemory
• ユーザーごとのタイムライン処理
• 原因:
• スレッドが起ちすぎる(ユーザーごとのスレッド)
• 大体200以上のスレッドが常時起動
• Twitter4jのUserStream自体はそれぐらいは当然耐えられる。
• 問題はサーバー側のメモリ容量
• 対策:
• タイムライン反応のサービス停止中! ・・・ サービスレベル低下
• TwitterにSiteStreamを申請中 ・・・ 絶賛ガン無視され中!
• UserStreamをプロセス化
最近の出来事
• アクセスが多い機種
• iPhone / Android
• PCはマイナー
• 対策:
• モバイルファースト化 が望まれる
おちこんだりもしたけれど、私はげんきです
• おしまい

Twitter butler