2020-10-01から1ヶ月間の記事一覧
github.com 20.10のCHANGELOGが公開されていた。リリースはまだなので変更点を確認するぐらいしか今のところない(ビルドして使おうとは思わないので。。) RootlessのGAがとても大きそう。Rootlessのためにpodmanについて調べようとか思ってたけど何もしてな…
Redisで有名なKEYSは、特定のパターンにマッチするKeyを検索する手法。このコマンド自体はO(N)の計算量でありデータ数が多いとその他リクエストが詰まる。パターンマッチなんかやりたくても気軽に打てないコマンド。その計算量は耐えられない場合に使えるsca…
macでansible使ってたらでたメッセージ2.9っていう最近のバージョンを使うと出るらしい。 Platform darwin on host using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter could change this…
Ansibleの警告文をまじまじと見てたら見つけた警告文。シンタックス的には問題ないし動作も大丈夫だよって場合にエラーにならずにログに出てるようだ。 [DEPRECATION WARNING]: Invoking "yum" only once while using a loop via squash_actions is deprecat…
会社の精算時に領収書の添付が必要なのだがスマホで撮影して添付しようとするとサイズが大きすぎってエラーがでる。windowsでどうやって小さくするんだって考えた結果書いた方が今後も使える気がすると思い書いてみた。(それっぽいソフトは大量に引っかかる…
先日調べたソケットバッファに関する記事でmemcachedはどのくらいの値を設定してるのかと思って調べたのでメモ。 memcacehd.cでsetsockopt(2)を読んでいた static void maximize_sndbuf(const int sfd) { socklen_t intsize = sizeof(int); int last_good = …
tcpdump -i eth0 '(tcp[tcpflags] & tcp-syn)' != 0 www.tcpdump.org syn以外もrstやらpshも取れるので割と重宝してます。
概要 netstatの実行でたまに見るSendQとかRecvQの値の決定はどこで行っているかを確認した際のメモ Send-Q/Recv-Qとは Recv-Q このソケットに接続されたユーザープログラムに渡されなかったデータのバイト数。 Send-Q リモートホストに受け入れられなかった…
概要 サービスディスカバリを初めてみたのでそのメモ サービスディスカバリとは サービスディスカバリ(Service Discovery、サービス検出[1])はサービスのインスタンスがもつネットワーク上の位置を決定することである[2]。 引用元: サービスディスカバリ -…
概要 サービスディスカバリを初めてみたのでそのメモ サービスディスカバリとは サービスディスカバリ(Service Discovery、サービス検出[1])はサービスのインスタンスがもつネットワーク上の位置を決定することである[2]。 引用元: サービスディスカバリ -…
searchcode.com Nginxのサーバ状況監視ツールnginxstats.pyが便利そうで使いたかったけどpython2でしか動かないみたいだったのでちょっとだけ直して使ってみた。使うにはstub_statusを有効にされてるNginxが必要で取得用のエンドポイントの設定も必要です。 …
<IfModule deflate_module> SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI\.(?:gif|jpe?g|png)$ no-gzip dont-vary Header append</ifmodule>…
build -> test -> lintをするためのgo用のテンプレートyaml lintは以下を使ってます。 github.com jobs: setup: runs-on: ubuntu-latest steps: - name: set up uses: actions/setup-go@v2 with: go-version: ^1.13 id: go - name: check out uses: actions/…
シェルスクリプトでゴリ押ししてたけど公式が良さげなモジュールを作ってくれていることに気づいた。ブリック関連の作成削除はこっちでやっても良さげかもしれない。 docs.ansible.com - name: create gluster volume with multiple bricks gluster.gluster.…
accept(2) manページ accept(2)の第二引数addr 引き数は sockaddr 構造体へのポインタ。この構造体には接続相手のソケットのアドレスが入っている。構造体ポインタから接続元情報を表示することで接続相手が何者かを識別できる。 以下は最小限のサンプル。tc…
metacpan.org perlで何も考えずにLWPとかでhttpリクエストをたくさん投げると取得すべきURLリストの中にレスポンスの遅いサイトが存在した場合そのリクエストの待ちが発生し後続のリクエストも遅くなります。 httpを簡単にノンブロッキングで実行してくれる…
背景 SO_REUSEPORTってなんだろ。https://t.co/0YDyRDKrI2— Ryuichi@Gurasan:|| (@ryuichi_1208) 2021年6月26日 so_reuseportってなんやねんと思って調べた 各OSSでの対応 Nginx Socket Sharding in NGINX OSS Release 1.9.1 apache Redis Node.js サンプル…
ある関数内で複数回Redisとのやり取りをしている場合はpipelineを用いることで処理を一括でRedisに投げることができる機能。何が嬉しいかというとプロセス間通信によるRTTを減らすことができる。 以下はサンプル。many_get()とmpipe_line()が計測対象。デー…
pythonデータ分析試験の勉強をしつつこれperlで書くとどうなんだろってものが何点かあったのでメモ的に記載 平均 sub mean { local($s) = 0; local($n) = 0; foreach $_ (@_) { if ($_ =~ /[0-9]/) { $s += $_; $n++; } } if ($n == 0) { ""; } else { $s /=…
typedef enum { MYOP_ERROR = -1, MYOP_NONE = 0, MYOP_QUIT, MYOP_WAITCHILD, /* snip */ } MyOperation_t; /** * AnalyseEvent - epoll_eventから任意のコマンドIDを導く */ MyOperation_t AnalyseEvent (struct epoll_event *event) { if (event->data.fd…