01:10:29
2017-09-19 23:28:55 Hostdon公式アカウントの投稿 hostdon@mstdn.hostdon.jp
icon

【9月29日のバルス対策について】
Hostdonでは9月29日の朝8:00〜9月30日の朝8:00の24時間の間、バルスによる配送等の遅延を最小限に抑えるため、すべてのインスタンスのSidekiqのプロセス数を2倍に増強し対策をすることになりました。
また、Passengerの設定も一時的に変更します。
よろしくお願いします。

01:16:36
icon

このインスタンスはたぶんPostgresがボトルネックなのでPumsとかSidekiq増やすのは逆効果なんだよな。というわけであしたVACUUM FULL試してみよう。作業中はインスタンスが停止します。

01:22:55
2017-09-19 23:43:22 7_nana🎴マストどすの投稿 7_nana@mastodos.com
icon

このアカウントは、notestockで公開設定になっていません。

01:25:24
icon

@hyoyoshikawa 僕もですー!

01:28:42
icon

master沼コワクナイヨー

01:29:02
2017-09-20 00:50:50 えじょねこの投稿 ejo090@mstdn.nere9.help
icon

まぁgitなんてリーナス・トーバルズってオッチャンたちが自分たちが作ってるLinux-kernelとかいうやつのバージョン管理したいがために作ったものなのでオッチャンたちが使いやすければよかったみたいなところがありますよね

01:36:20
icon

ぎーっとぎーっとのぎっとはぶ https://youtu.be/6IFW97RvT_Q

Attach YouTube
06:51:07
icon

@hyoyoshikawa いろいろ勉強させてもらってます!

07:00:49
2017-09-20 04:23:58 unaristの投稿 unarist@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

07:01:13
2017-09-20 07:01:13 zundaの投稿 zundan@mastodon.zunda.ninja
07:07:24
2017-09-20 05:09:00 itokinの投稿 itokin@pawoo.net
icon

このアカウントは、notestockで公開設定になっていません。

07:08:00
icon

バルスる、バルスらない、バルスれば、…

07:55:55
icon

昨夜、8:00 UTCごろにVACUUMを走らせてから、若干レスポンスが良くなっているようです。黄色の線はトラッフィク、緑色の棒がActiveRecordの消費時間。あと10分ほどでこのインスタンスをいったん停止させ、VACUUM FULLしてみます。 https://mastodon.zunda.ninja/media/k9wsae2ai6yLCIaAFZ0

Attach image
07:56:12
icon

$ heroku pg:info
=== DATABASE_URL, PG_HOBBY_BASIC_URL
Plan: Hobby-basic
Status: Available
Connections: 6/20
PG Version: 9.6.1
Created: 2017-04-20 18:31 UTC
Data Size: 276.7 MB
Tables: 35
Rows: 568195/10000000 (In compliance)

07:57:20
icon

$ heroku pg:diagnose
RED: Hit Rate
Name Ratio
────────────────────── ──────────────────
overall index hit rate 0.9311722873276731
overall cache hit rate 0.6373249488053885
GREEN: Connection Count
GREEN: Long Queries
GREEN: Idle in Transaction
GREEN: Indexes
GREEN: Bloat
GREEN: Blocking Queries
GREEN: Sequences
SKIPPED: Load

この指標はVACUUMしても変化しないんだろうけど。

08:00:30
icon

Sidekiqのキューがはけたら通知をトゥートして止めて、って思ってたけどトゥートした時点でまたキューがたまるなw このトゥートの分のキューがはけたあたりで無言で止めまーす。

08:14:48
icon

VACUUM FULLが終わりました。速くなったかな?メンテナンスモードになっていたのは6分30秒ほどでした。

$ heroku maintenance:on
$ heroku logs -t

まだ再試行してるジョブがあるけれどまあいいだろう。

$ heroku ps:scale web=0
$ heroku pg:psql
zundan-mastodon::DATABASE=> VACUUM FULL;
Time: 138591.313 ms
zundan-mastodon::DATABASE=>
zundan-mastodon::DATABASE=> \q
$ TZ=UTC date
Wed Sep 20 18:11:48 UTC 2017
$ heroku ps:scale web=1

Dynoのupを待って、

$ heroku maintenance:off

08:17:05
2017-09-20 08:16:20 ほたの投稿 hota@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

08:17:23
icon

やっぱりクリームは舐めるものなのかw

08:23:16
icon

pg:bloatで見えるwasteはずいぶん小さくなった。pg:diagnoseはやっぱり変化していない。Data Sizeは40MB現象。よしよし。

$ heroku pg:info
=== DATABASE_URL, PG_HOBBY_BASIC_URL
Plan: Hobby-basic
Status: Available
Connections: 5/20
PG Version: 9.6.1
Created: 2017-04-20 18:31 UTC
Data Size: 239.1 MB
Tables: 35
Rows: 573807/10000000 (In compliance)

08:23:45
icon

減少

09:58:42
icon

@popneo それぞれのローカル時間で言われても混乱するだけですからねえ

12:41:58
icon

えーそっかーrubyを2.4.2に上げるの大変なん…

13:44:56
icon

Api::V1::NotificationsController#indexで遅いのはapp/controllers/api/v1/notifications_controller.rbからdef browserable_account_notificationsと辿ってcurrent_account.notificationsあたりかなあ。実装はapp/models/account.rbのhas_many :notificationsっぽい (たいへん)。

13:54:01
2017-09-20 13:34:35 ryanakの投稿 ryanak@mstdn.ryanak.xyz
icon

実を言うとOStatusはもうだめです。
突然こんなこと言ってごめんね。
でも本当です。

2、3日後にmaster追従勢がビチビチし始めます。
それが終わりの合図です。

程なく大きめのリリースが来るので
気をつけて。
それがやんだら、少しだけ間をおいて
終わりがきます。

14:04:41
2017-09-20 14:04:33 しむどん三度無視の投稿 sximada@mstdn.jp
icon

このアカウントは、notestockで公開設定になっていません。

14:04:48
icon

そうなるよねwww

15:41:52
icon

遅いApi::V1::NotificationsController#indexのバックトレースが見えた!らっきー!(ちゃんと有料プランにしてないのでトランザクションが多すぎると見えなくなる)

/app/models/status.rb in map at line 177 を見るべきだとのこと。 https://mastodon.zunda.ninja/media/RqAw5sNa1O6S7byWs7c

Attach image
15:45:27
icon

SQLも見えた。下記が101,527.7 msかけて2701行返したとのこと

SELECT "statuses"."reblog_of_id" FROM "statuses" WHERE ("statuses"."reblog_of_id" = ? OR "statuses"."reblog_of_id" IS NULL) AND "statuses"."account_id" = ? ORDER BY "statuses"."id" DESC

15:50:36
icon

Timelines::PublicController#showではapplication_controller.rb:89が120s。

SELECT "statuses"."id", "statuses"."updated_at" FROM "statuses" LEFT OUTER JOIN "accounts" ON "accounts"."id" = "statuses"."account_id" WHERE ("statuses"."local" = ? OR "statuses"."uri" IS NULL) AND "statuses"."visibility" = ? AND (statuses.reblog_of_id IS NULL) AND (statuses.reply = FALSE OR statuses.in_reply_to_account_id = statuses.account_id) AND "accounts"."silenced" = ? ORDER BY "statuses"."id" DESC LIMIT ?

15:50:54
icon

ソートにはそーとー時間かかるよねー

15:52:25
icon

たぶん最近のだけに限定すればいいんだろうけどActiveSupportでどう書くのやらw 仕事にもどろう。

15:55:04
icon

Api::V1::Timelines::HomeController#showでも/app/models/status.rb:177が38秒かけて2702行返した例があった。

SELECT "statuses"."reblog_of_id" FROM "statuses" WHERE ("statuses"."reblog_of_id" IN (?) OR "statuses"."reblog_of_id" IS NULL) AND "statuses"."account_id" = ? ORDER BY "statuses"."id" DESC

15:57:09
icon

しかしScoutいいなあ。有料版にしたいなあ

15:57:44
icon

とか書いてたらH12ばっかりになりました。なんぞーなんぞー。

15:57:48
icon

仕事に戻れー

16:04:00
icon

じゃなくてActiveRecord w

16:36:01
icon

遅いエンドポイントへのリクエストが重なってPumaのリクエストのキューが長くなったのが原因だったようです。ならしょーがない← https://mastodon.zunda.ninja/media/gri0_HG0I1B6A4ebcMA

Attach image
16:53:32
icon

@unarist なーんと!見つかってよかった。

後で自分で見返そうと思って記録しておいたら見ていただいちゃって、どうもありがとうございます!

16:55:20
icon

GitHubのコード検索、ちょっとゆるふわすぎる感じ

17:34:44
icon

@unarist diffがあればうちの弱っちいPostgresで試してみることもできますです〜

17:48:16
icon

@unarist とりあえずEXPLAIN ANALYZEです。OR "reblog_of_id" IS NULLを無くすとだいぶ速くなって少しだけ返ってくる行が多いようです。行が多いのがよくわからない…。

https://gist.github.com/zunda/9abfa85dc1f72d037e058d5e481c6585

他のインスタンスへの迷惑はないだろうと思うので、.compact足してしばらく運用してみますね。

Web site image
reblog_of_id IS NULLの有無でのクエリの実行速度の違い
17:55:48
icon

@unarist あー、やっぱり。account_idを1にして(ぼっちなので)、reblog_of_idを11にして https://gist.github.com/zunda/9abfa85dc1f72d037e058d5e481c6585 を更新しました。25倍くらい速度が違いますね。これからパッチ適用版にリブートしまーす。

Web site image
reblog_of_id IS NULLの有無でのクエリの実行速度の違い
17:59:37
icon

\2017-09-21 03:58このインスタンスにパッチを当てました/

https://github.com/zunda/mastodon/commit/c7cd562442411f4f22c8f653a51ac2c3611cca77

StatusRelationshipsPresenterでstatus_idsがコンパクトになるよ。

Web site image
Compact status_ids in StatusRelationshipsPresenter · zunda/mastodon@c7cd562
18:00:13
icon

@unarist https://github.com/zunda/mastodon/commit/c7cd562442411f4f22c8f653a51ac2c3611cca77 を当てました。しばらく様子を見てみますね。

Web site image
Compact status_ids in StatusRelationshipsPresenter · zunda/mastodon@c7cd562
18:01:52
icon

SubwayTooterからのリロードがサクサクになった気がする♪

18:06:13
icon

@hyuki カスタム絵文字は1.6.1のタグが付いた後にマージされた機能です。次のリリースには入りそうですがいつなんだろう

https://github.com/tootsuite/mastodon/pull/4988
https://github.com/tootsuite/mastodon/pull/5002

Web site image
Custom emoji by Gargron · Pull Request #4988 · mastodon/mastodon
Web site image
Admin interface for listing, adding and removing custom emojis by Gargron · Pull Request #5002 · mastodon/mastodon
18:06:38
icon

\みどりの :green_dango: だんご/

19:17:11
2017-09-20 19:17:11 zundaの投稿 zundan@mastodon.zunda.ninja
19:17:16
2017-09-20 18:48:13 智絵里さん係【うしHK】🍀📝🐈🎨🌙♠の投稿 chierisan_kakari@imastodon.net
icon

なにがにゃーんですかはじをしりなさい

19:17:18
19:17:21
2017-09-20 18:48:23 智絵里さん係【うしHK】🍀📝🐈🎨🌙♠の投稿 chierisan_kakari@imastodon.net
icon

にゃーんにゃーん

19:17:35
icon

にゃーんにゃーんにゃーん

19:18:01
2017-09-20 18:50:18 xanac(希)🐺jpの投稿 rk_asylum@mstdn.jp
icon

このアカウントは、notestockで公開設定になっていません。

19:18:04
2017-09-20 18:50:24 xanac(希)🐺jpの投稿 rk_asylum@mstdn.jp
icon

このアカウントは、notestockで公開設定になっていません。

19:18:07
2017-09-20 19:18:07 zundaの投稿 zundan@mastodon.zunda.ninja
19:19:34
2017-09-20 13:49:01 wakinの投稿 wakin@biwakodon.com
icon

このアカウントは、notestockで公開設定になっていません。

19:19:38
icon

なるほど

19:51:50
icon

HerokuでMastodon走らせるの楽ですよー。Postgresをまともなのにするとちょっと高いけど。

22:43:52
icon

USJには行ったことないけどUSJの敷地に建ってた工場なら行ったことあるよw

22:58:54
icon

Redisの稼働状況。使用メモリは25MB中2MB程度、接続数は最大20のうち12程度。

今の10倍くらいの長さのキューを保持できるということは、処理速度が同じだとしてだいたい今の10倍くらいの流速でトゥートが配達されてきても耐えられるということになるのかな?一方、接続数にも少し余裕があるのでSidekiqのスレッド数を増やすこともできそう。 https://mastodon.zunda.ninja/media/b4JWHHFyDLweUCP9wMI

Attach image
23:43:59
icon

95パーセンタイルでみると、status_idsを.compactするようになって(c7cd5624)から、応答時間のスパイクが減りました。このまま落ち着いてくれてるといいな。 https://mastodon.zunda.ninja/media/t_GCsVJzBnIueUCnoV0

Attach image
23:52:28
icon

あそうかタイムラインもRedisか

23:54:01
2017-09-20 23:33:58 xanac(希)🐺jpの投稿 rk_asylum@mstdn.jp
icon

このアカウントは、notestockで公開設定になっていません。