2021-08-01から1ヶ月間の記事一覧
まとめ pinterest/pymemcacheは障害が発生したmemcachedを自動でリバランスして書き込みに行かないような機能を持っている 特定ノード間だけで起きてたりするとデータの不整合が発生するかもしれないから注意が必要 memcachedのクライアントを選ぶときはこの…
背景 ryuichi1208.hateblo.jp この前描いてた記事のスピンオフ的な記事でキャッシュスタンピード対策をPythonで実装するとしたらどんな感じかなと思って調べてみた記事。内容としては以下の記事でやっていることの一部を掘り下げて考えてみたという感じです…
systemdのカスタムサービスファイルを書くときにどのTypeで起動を判定するかのTypeでType=notifyについて調べたメモです。 github.com Type=notifyとは 以下のような記載があります。フォアグラウウンドで実行を継続するデーモンで使えるType=simpleとほぼ同…
github.com マルチプロセスモデルなどで動くアプリケーションがどれくらい他プロセスとメモリを共有しているのかを計算スクリプトを書いてみました。 Linuxに関してのCoWの細かい話は他記事で書いてるので省略。引数のpidからtgidを中で取得したりして子プロ…
ジムのマッサージ機に乗りながらsocket(7)のmanを読んでいたらSO_REUSEPORTというオプションがあって気になって調べたのでメモ SO_REUSEPORT (Linux 3.9 以降) Permits multiple AF_INET or AF_INET6 sockets to be bound to an identical socket address. T…
背景 pkg.go.dev ISUCONの過去問を眺めていたらキャッシュのThundering Herd問題を解決するのにsingleflightというライブラリを使った解決策があることを知ったので調べていたらNginxでも似たようなことをできそうと言うことを知ったので調べてみたメモ。 キ…
Nginx -> appみたいな構成でproxy_cacheを入れているとappまでリクエストが到達せずにNginxがリクエストを返すことができる。これはこれでとても便利なのでがブラウザのスーパリロード時はappまで貫通させたいみたいなケースがあったので調べたメモ。 結論 p…
qiita.com https://qiita.com/furandon_pig/items/840e853f7400ad54f65e
自宅で動いてるVMが15台を超えそれぞれどのポートで何してるんだっけってなることが増えてきた。コマンド一発でどのサーバのどのポートがopenになってるのかを確認するコマンドが欲しくなったのでRubyで実装しようと思ってやったメモ。 実装方針 docs.ruby-l…
mysql> explain select id from friends where sex = 20 and age = 1; +----+-------------+---------+------------+------+---------------+---------+---------+-------------+------+----------+-------------+ | id | select_type | table | partitions …
Rubyへ入門し始めたので感想とかをつらつらと。入門の動機は仕事で使う機会が出てきそうだから。がっつりアプリケーションコードを書く職種でもないけど社内の多くツールがRubyで書かれていたりアプリケーションを触る機会が出るとしたら知っておいて損ない…
func main() { signal_chan := make(chan os.Signal, 1) signal.Notify(signal_chan, syscall.SIGPIPE) go func() { select { case <-signal_chan: os.Exit(1) } }() run() } func run() { for { _, err := fmt.Println("run!") if err != nil { if errors.I…