ぜのぜ

しりとりしようぜのぜのぜのぜ

29日目, 1,050,114

最終回 コメントしたときの無駄な更新処理をやめた · Gurrium/private-isu@1431567 · GitHub 思ったより効かなかった +10,000くらい postLoginを遅延させる · Gurrium/private-isu@5ae6af6 · GitHub 多分効いてる +50,000くらい? disable pprof · Gurrium/p…

28日目, 1,012,219

投稿とコメントを事前にバイト列にしておく · Gurrium/private-isu@07d61dc · GitHub postCommentでキャッシュを作り直すのであまりスコアは上がらなかった 何にせよ無事100万点を超えた 今のpprof

27日目, 990,092

getPosts用の投稿を一部キャッシュする · Gurrium/private-isu@10a72a5 · GitHub getPostsはgetIndexの表示分からあぶれた投稿を取るためのエンドポイントなのでgetIndexで使っているキャッシュを拡張した 最初は4倍で試していたがメモリに余裕があったので1…

26日目, 916,936

Revert "getPostsIDでキャッシュをやめる" · Gurrium/private-isu@e341dbd · GitHub sonnet.Marshalに時間がかかっていたのでやめてみたけど下がったのでrevertした getAccountNameのレスポンスを遅延させる · Gurrium/private-isu@0928660 · GitHub 以下の…

25日目, 814,586

セッション管理も自前でする · Gurrium/private-isu@0cd00ff · GitHub https://github.com/methane/pixiv-private-isucon-2016/blob/master/app.go を見て そんなに上がらなかった とにかくpostIndexの画像ファイルのデータを読む処理が重かった postIndexで…

24日目, 716,860

RETURNINGは幻想だったっぽい。素直にSELECTし直す · Gurrium/private-isu@03a5865 · GitHub PostgreSQLの機能だった getIndexの実行時間が短くはなったけどその分postIndexが呼ばれる回数が増えてスコアは伸びなかった postIndexはbodyから画像ファイルのデ…

23日目, 724,075

コメントを時前でキャッシュする · Gurrium/private-isu@1d338d5 · GitHub こっちはできた getIndexの投稿一覧をじまえできゃっしゅする · Gurrium/private-isu@9458570 · GitHub こっちはCSRF token周りがバグってる 酒

22日目, 724,075

デプロイごとに画像を消すようにした · Gurrium/private-isu@d31d985 · GitHub はい tsukareta

21日目, 724,075

SetMaxOpenConns(10) · Gurrium/private-isu@5736886 · GitHub sql.DB.conn が減ったけどスコアは変わらず 改めて見ると74 [ms] → 10 [ms]なので全体から見るとインパクトは小さくてそれはそう DSAS開発者の部屋:pixiv private isucon 2016 攻略 (5/5) でコ…

20日目, 728,507

セッションの情報もmemcachedをやめた · Gurrium/private-isu@4331b21 · GitHub 8,000 セッションのロードの処理が重くて思ったより伸びなかった

19日目, 722,776

getPostsIDをキャッシュする · Gurrium/private-isu@e76c367 · GitHub +10,000...? Revert "Revert "Revert "templatePostの結果をキャッシュするようにした""" · Gurrium/private-isu@305a7a4 · GitHub 投稿一覧と投稿詳細で取るコメントの数が違うが、それ…

18日目, 712,521

templatePostの結果をキャッシュするようにした · Gurrium/private-isu@7721971 · GitHub getIndexでmakePostsの結果ごとキャッシュする · Gurrium/private-isu@1402a3f · GitHub どちらも特に変わらず…手詰まりだ〜〜〜〜〜

private-isuで70万点取るためにやったこと

この記事ははてなエンジニア Advent Calendar 2023の17日目の記事です。 ついでにISUBONの17日目の記事です。スコアは変わらず717,858点。 今月の初めからISUBON(Iikanjini Speed Up BlogathON)と称してprivate-isuで遊んでいる。ルールは以下の通り。 毎日2…

16日目, 717,858

一旦bytes.Bufferに書いてからhttp.ResponseWriterに書いてみる · Gurrium/private-isu@e480fd2 · GitHub http.(*conn).hijackedはなくなったけどruntime.makesliceが増えておおむね±0 Bufferをつかいまわすようにした · Gurrium/private-isu@9d75221 · GitH…

15日目, 717,858

memcache -> freecache · Gurrium/private-isu@b7d5b21 · GitHub 昨日の読み通り 1台で動いているのでmemcachedなんていらんかったんや 右の方にあるGetMultiが一掃されたのがわかる。写っていないが処理時間も43.49秒から30.96秒に減っている。 昨日 今日

14日目, 626,365

HTMLの静的な部分をメソッドの呼び出しごとに作らないようにした · Gurrium/private-isu@ad00b38 · GitHub runtime.newobjectが消せたけどスコアには大して影響がなかった 一番時間がかかっているgetIndexはキャッシュからの取得とレスポンスデータの書き込…

13日目, 634,706

必要なフィールドだけのstructに詰める · Gurrium/private-isu@2db418c · GitHub makePostsで、コメントに必要なカラムだけを取ってくる · Gurrium/private-isu@9b9f871 · GitHub どれも効いてないか+10,000弱。そろそろ厳しい。

12日目, 625,886

投稿へのコメントの数をDBにも持つようにした · Gurrium/private-isu@d2c8d45 · GitHub +60,000 クエリの中で一番時間を食っていたのでキャッシュするようにしたら結構上がってハッピー Spintfとgrowslice絶対すマン · Gurrium/private-isu@4c3e960 · GitHub…

11日目, 541,754

/ の投稿一覧をきゃっしゅする · Gurrium/private-isu@a4384d8 · GitHub +8,000 Sprintfの埋め込みを手でやってみた · Gurrium/private-isu@1267519 · GitHub +20,000 あらかじめバイト列にしたものを使い回す · Gurrium/private-isu@2130dc9 · GitHub +2,00…

10日目, 510,787

大して変わらず templatePostの時刻のフォーマット結果を使い回すようにした · Gurrium/private-isu@69bf797 · GitHub getSessionUserに必要な情報はすべてキャッシュする · Gurrium/private-isu@a6dcc6a · GitHub /posts の投稿一覧のprofileを見てやったや…

9日目, 516,856

1209 by Gurrium · Pull Request #6 · Gurrium/private-isu · GitHub 50万点超えた やったこと encoding/jsonからhttps://github.com/sugawarayuuta/sonnetに変えた +10,000 html/templateを使わないようにした +55,000 必要なカラムだけ取るようにした ±0 …

8日目, 449,042

ベンチマークスクリプトを書いた · Gurrium/private-isu@9b82339 · GitHub 明日は金曜なので元気があるはず

7日目, 449,042

write analyze script · Gurrium/private-isu@6dd208d · GitHub dake NaruseJunのとーふとふ氏のISUCON13のwriteup*1を読んでいたらprivate-isuの50万点RTAが(一人で?)10時間と書いてあって椅子から転げ落ちた。 *1:https://zenn.dev/tohutohu/articles/9…

6日目, 449,042

デプロイスクリプトを書いた · Gurrium/private-isu@39fd1de · GitHub だけ。 当然点数は変わらず。 shell script力が足りなくて結構時間がかかった。

5日目, 44,9042

文字列の結合に時間がかかっていたので直した · Gurrium/private-isu@17a0b31 · GitHub {"pass":true,"score":449042,"success":435308,"fail":0,"messages":[]} 仕事をしていたので1つだけ。昨日のpprofで文字列の結合に時間がかかっていることがわかってい…

"workbench.editor.tabCloseButton": "left"

VS Codeを使っていてめちゃくちゃ不便だったのが解消されて最高。僕はLTR環境に生きているので。 https://stackoverflow.com/a/50176392 →

4日目, 370,887

https://github.com/Gurrium/private-isu/pull/5 今日はコードは何も変えてない。 公式のAMIを使ってインスタンスを作ってそこで走らせただけ。昨日言っていたように実行環境がボトルネックというオチだった。 アドカレ分は続けられることが確定してブログを…

3日目, 127,891点

https://github.com/Gurrium/private-isu/pull/4 外部コマンドの呼び出しをやめた GET /, GET /admin/bannedでhtml/templateを使わないようにした pprofで見てると半分以上がテンプレートの描画に使われていたので レギュレーションで禁止されてはいないが当…

2日目 95,162点

Iikanjini Speed Up BlogathONということでこの遊びをISUBONと名付けよう。 今日やったこと https://github.com/Gurrium/private-isu/pull/3 makePostsのN+1解消 コメントのキャッシュ 静的ファイルのクライアントキャッシュ(+50,000点くらい) いろいろや…

1日目 19,117点

ISUCONが楽しかったのとちょうどアドカレの時期なのでそれに合わせてもうちょっと遊ぶ。 ルール 毎日24時までに継続日数x10,000以上のスコアを出す 毎日24時までにその日やったことのブログを投稿する 以上のどちらかに失敗したら終わり 数日で終わったら面…