00:30:09
2017-09-26 00:01:50 unaristの投稿 unarist@mstdn.maud.io
icon

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

00:30:38
icon

うちだったら落ちるなw

07:45:14
2017-09-26 06:58:29 えじょねこの投稿 ejo090@mstdn.nere9.help
icon

あのタイムゾーンが違うからどうとかで受理するかしないかみたいなやつの小噺すき

07:45:14
2017-09-26 07:00:49 えじょねこの投稿 ejo090@mstdn.nere9.help
icon

第28回嘘競演(23ページ) kasugai.com/~usokyoen/28/uk280
これですね

第28回嘘競演(23ページ)
07:45:25
icon

なつかしいなw

08:06:17
icon

よーしお父さん試しにちょっとだけスケールアウトしちゃうぞー

08:08:27
icon

パラメータを書き忘れたw

Puma
- DB_POOL: 5
- MAX_THREADS: 3
- WEB_CONCURRENCY: 1

Sidekiqはweb dynoで動かす
- RUN_WORKER: true
- SIDEKIQ_THREADS: 1

Rack-timeout
- WAIT_TIMEOUT: 90
- SERVICE_TIMEOUT: 90

08:09:13
icon

$ heroku config:set WEB_CONCURRENCY=2 MAX_THREADS=2 DB_POOL=3 SIDEKIQ_THREADS=2 SERVICE_TIMEOUT=180 RUN_WORKER=false
$ heroku ps:scale worker=1

08:10:10
icon

こうしてみました

Puma
- DB_POOL: 3
- MAX_THREADS: 2
- WEB_CONCURRENCY: 2

Sidekiqはworker dynoで動かす
- RUN_WORKER: false
- SIDEKIQ_THREADS: 2

Rack-timeout
- WAIT_TIMEOUT: 90
- SERVICE_TIMEOUT: 180

08:11:17
icon

現状のProcfileはhttps://github.com/zunda/mastodon/blob/1f7499d3ae4006a86dbdf742b1f0071f7e75ff87/Procfile

web: [ "$RUN_STREAMING" != "true" ] && puma -C config/puma.rb & [ "$RUN_WORKER" == "true" ] && sidekiq -c ${SIDEKIQ_THREADS:-5} & [ "$RUN_STREAMING" == "true" ] && npm start & wait
worker: sidekiq -c ${SIDEKIQ_THREADS:-5}
release: if [ "$RUN_STREAMING" != "true" ]; then rake db:migrate; else echo Not migrating on this app; fi

Web site image
mastodon/Procfile at 1f7499d3ae4006a86dbdf742b1f0071f7e75ff87 · zunda/mastodon
08:12:19
icon

Hobby dynoが1台から2台になったので1ヶ月放置すると$7/月費用が増します。まあバルスの時だけにしておく。

08:15:04
icon

Redisのコネクション数は19に増えました。足し算できないけどそんなものかな?Postgresは下記。コネクション数が思ったより少ないね。

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

08:23:40
2017-09-26 08:23:40 zundaの投稿 zundan@mastodon.zunda.ninja
08:23:52
icon

ふむー

08:37:29
icon

うん。ローカルなアカウントがアップロードしたメディアファイルはweb dynoで処理されててリモートからのトゥートにひっついてるメディアファイルはworker dynoで処理されてる (って前にも確かめたよな)

08:41:10
icon

そうそう、rack-timeoutのservicetimeoutはリモートアカウントのタイムラインとってくるのにタイムアウトしちゃわないように2倍にしました。スレッド専有されるよりタイムアウトしてデータベース接続がリークしちゃう方を防ぎたい。

08:41:55
2017-09-26 08:41:26 unaristの投稿 unarist@mstdn.maud.io
icon

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

08:42:15
icon

家からヨドバシまで連絡通路 (wktk)

08:45:36
icon

web dynoはPuma 2プロセスx2スレッドで383 MB、worker dynoはSidekiq 2スレッドで218 MB程度のRAMを使ってます。

09:11:57
icon

ふに

method=GET path=/api/v1/timelines/public format=*/* controller=Api::V1::Timelines::PublicController action=show status=200 duration=32347.37 view=3431.63 db=28147.25

09:35:40
icon

スケール戻すよー

$ heroku config:set WEB_CONCURRENCY=1 MAX_THREADS=3 DB_POOL=5 SIDEKIQ_THREADS=1 RUN_WORKER=true
$ heroku ps:scale worker=0

SERVICE_TIMEOUT=180はこのままで。

09:48:13
icon

コネクション数はスレッド数を減らした (Puma: 2x2→1x3、Sidekiq 1x2→1x1) 分くらい減りました。

$ 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: 269.8 MB
Tables: 35
Rows: 600025/10000000 (In compliance)

09:49:04
icon

メモリはSidekiqを収容した分増えたけど、まだメディアファイルが来てないのでスワップには行っていない。

09:54:39
icon

なんだか良さげな変更がありますねw

3b60832214fdd9d8b5fd01e9a177a6dde5259907
New error page graphic. Other error page improvements

09:59:15
10:04:51
icon

Internal Server Errorのページを早く見たくてデプロイしようとしたらHerokuさんからInternal Server Errorもらっちゃいました。 (2回目は成功)

$ heroku pipelines:promote -a zundan-mastodon-experiment
Fetching app info... done
Fetching apps from zundan-mastodon... done
Starting promotion to production... done
Waiting for promotion to complete... !
▸ Internal server error.

10:06:15
icon

\ますたーに/ \追随しますたー/

Merged tootsuite/mastodon at b32a1d575469aeb3d74da93d861b77df55715e1b.

これ!これ!これ見て!! 気に入った!! https://mastodon.zunda.ninja/500.html

This page is not correct - Mastodon
10:07:25
icon

I just love the new 500 page! https://mastodon.zunda.ninja/500.html

This page is not correct - Mastodon
10:13:17
icon

うちのルータもプロバイダもv6対応してるんだよな。家の中のサーバの安全を確保したらv6有効にできるんだよな。そこが大変なんだよな。

10:17:43
icon

インターネットって職場のモデムに電話かけて使うやつでしょ?

10:18:10
icon

インターネットって黄色い同軸ケーブルに針ぶっさしてつなぐやつでしょ?

10:25:34
icon

ご安全に

10:39:03
icon

まんなか辺でスケールを元に戻しました。その後トラッフィクが増えてるのはいろいろトゥートしてたからだろうな。 https://mastodon.zunda.ninja/media/J3JXOgP29udRtcU6s-o

Attach image
10:51:33
icon

@chidori おはます!

11:18:05
icon

仕事にいきづまってMastodonのLibratoを眺める。動いてるなあ (小確幸)

11:19:31
icon

リンクになっている文字列の一部を簡単にコピーしたい

11:50:01
icon

おー、404もアニメになってるw https://mastodon.zunda.ninja/404

Fail Mastodonも好きだったんだけどな、どこかに残ってないかなw

12:12:15
icon

バルスの前にバルスみたいな負荷かけてみたいんだけど連合先にバルスっちゃうよねえw

12:16:00
icon

バルス試験用のMastodonインスタンスを複数作ってその中でやりとりさせるしかないのかな。S3付けなかったらそんなに手間じゃないかな

13:02:49
icon

@hyuki0000 ナルホド! って思ったけどテレホーダイのころもう日本に居なかったっぽいです。なんてこった。

13:07:22
icon

ブラウザのタブが開くまでに何を確認しようとしてたか忘れるおっさん脳

13:08:09
icon

ねねっち12インチかー

13:11:22
icon

@hyuki 何日か前にDDoSだかなんだけで索きづらくなってたと思います

13:21:30
icon

$ heroku pg:info
~ $ heroku pg:info -a zundan-mastodon=== 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: 270.0 MB
Tables: 35
Rows: 600049/10000000 (In compliance) - refreshing

Puma 3スレッド、Sidekiq 1スレッド、Streaming 2スレッドくらいかな?

13:22:54
icon

コピペまちがいますた

14:02:34
icon

そうかKubernetesのべんきょーに負荷試験用のMastodonクラスタをですね (凝りすぎ)

16:31:51
2017-09-26 16:21:08 スピリチュアル便所コオロギの投稿 nkf9@mstdn.jp
icon

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

16:45:43
icon

スタバ隣の人の音漏れうるさいし移動したらクーラー寒いし公園の駐車場に移動しよう

17:22:19
icon

インスタンス情報のキャッシュを更新してたのかな。ならしょうがない。

at=error code=H12 desc="Request timeout" method=GET path="/api/v1/instance" host=mastodon.zunda.ninja dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=https

17:44:20
icon

データベースの秘孔つかれると止まるけどな!

18:45:38
icon

トラフィックがそれほどでもないのにレスポンスが遅いのはデータベースの秘孔をつかれぎみのときよねきっと https://mastodon.zunda.ninja/media/GZhK3x93S1FTJv88cdY

Attach image
18:47:11
icon

ログを引用しようとしたら500文字でもきびちい

18:51:07
icon

@hyuki ちょっと調べてみたら攻撃かどうかはまだわかっていない感じでした。訂正しまっす。すみません。

https://haydenjames.io/io-tld-dns-issues-day-without-cloudflare/ によると、.io TLDの権威サーバのひとつが誤った回答をしていた時期があったとのことです。

19:01:04
2017-09-26 18:59:23 𝒂𝒊𝒘𝒂𝒔の投稿 aiwas@mstdn.maud.io
icon

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

19:01:06
2017-09-26 19:00:51 unaristの投稿 unarist@mstdn.maud.io
icon

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

19:01:14
icon

それにつけてもおやつは!

19:49:05
2017-09-26 19:37:49 アチャールの投稿 hamster00@friends.nico
icon

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

19:49:15
icon

申し訳ございません

19:50:14
icon

秒課金にするとイベントログが多くなるのよね

19:57:23
icon

@hyuki 興味もあったので、お気になさらず!

20:39:23
icon

@hyuki いえいえいいえいえ(てれれ)

20:39:50
2017-09-26 20:20:59 unaristの投稿 unarist@mstdn.maud.io
icon

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

20:40:01
icon

おー status .ioだー

20:51:59
icon

$ heroku pg:psql
> VACUUM;
VACUUM
Time: 58328.683 ms

とりゃ。

23:35:00
icon

@Naf @unarist Paperclipのログ、全然出ないように設定してるなあ、ってどこかのコードを読んで思った気がします。Paperclipの下で働いてるなんかコマンドを実行するやつ(名前忘れちゃった)のログはでてるのでImageMagicのコマンドを実行してるのは分かるんだけど。