zaru
banner
zaru.dev
zaru
@zaru.dev
株式会社nanabit。プログラミングが大好き。コード書くのも、技術調査や誰かに教えたり、文章を書くのが好きです。不具合調査や障害対応・抑制する取り組みが得意です。 ムーザルちゃんねるで技術動画配信してます。お仕事の依頼はサイトを確認してください。

https://nanabit.dev/
唯一の不満点は、Next.jsで使う場合、RouteHandler前提のインターフェイスになっているため、ServerComponentから各種機能を呼び出す際にCookieが必要になる点。またはClientComponentからもAPI呼び出しになるのでuseなどのawait対応が必要になる点かな。
June 11, 2025 at 12:15 AM
TIME_WAITが多い分には困らないが(ポートを食いつぶさない量なら)、Threadsが全部占有され続けPoolCapacityが0の状態が続くのは大問題だ、という整理であってそうだ。その場合、強制終了させたいがPumaをクラスターモードで動かしてworker_timeoutを設定しないと実現で来なさそう。Nginx側でタイムアウト設定して切断してもPumaのスレッドが開放されるわけじゃないし…。となるとWorkerをスケールアウトさせていくしかないのか?
May 23, 2025 at 1:00 AM
なんとなく理解した。Nginx->PumaでKeepAliveされているが、処理が長いリクエストがThreadsの数だけ占有されていると、新しいリクエストは新規でTCP接続する。その溢れた数だけTIME_WAITが積み重なっていくという感じか。リクエスト数と処理数が見合わない状況だとそうなりやすい感じね。
May 23, 2025 at 12:57 AM
どうやらPumaのThreadsを使い果たしPoolCapacityが0担った状態で新規接続が来るとFINパケットが送信されるっぽい雰囲気がある。Puma的にはリクエストが来ても処理できないからもう一度やってね的な挙動なのか…?
May 23, 2025 at 12:47 AM
一般的にカルーセルはナビゲーションUIではなく「広告」。広告というのは外部コンテンツに限らず、内部コンテンツへのアテンションとしての役割を期待していると思う。その効果測定をしっかりしたうえで判断をしていきたい。
May 22, 2025 at 11:22 PM