2020-01-01から1年間の記事一覧
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…
レポジトリ登録 # yum install -y centos-release-scl インストール # cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) # yum install -y devtoolset-9 # scl enable devtoolset-9 bash ... 略 各種確認 # which gcc /opt/rh/devtoolset-9/ro…
配列から重複を排除する my @array = qw/ a b c a/; my %hash = (); my @unique = grep { ! $hash{ $_ }++ } @array; ソートする # 配列 @tags = sort {$a cmp $b} @tags; # ハッシュ foreach ( sort { $hash_ref->{$a} <=> $hash_ref->{$b} } keys $hash_re…
キャッシュがない状態でmakeを大量に打つ機会があった。その時に並列化する方法を知ったのでメモ どうやらmakeには-jで簡単に並列化する仕組みがあるらしい。 $ make -j $(nproc) こんな感じでコア数分並列に動いてくれる。どれくらい変わるのだろう。
突然思った。なんで?ulimitをユーザプロセス が変更する際はハードリミット以下で制限されるがworker_rlimit_nofileではこのハードリミットを超えることができる。 これはなんでって思ったので調べた。結論から言うとNginxは基本masterプロセスはrootで実行…
手法 メリット デメリット select メモリやリソース消費が抑えられる 扱えるディスクリプタに制限がある一つのソケットの送受信処理の間に他のソケットを扱えない poll メモリやリソース消費が抑えられるディスクリプタ制限なし 一つのソケットの送受信処理…
構築中に調べてた際のメモ # 状態表示 gluster peer status # 指定されたブリックを使用してvolnameというボリュームを作成 $ gluster volume create # そのまま gluster volume start # そのまま(restartないのでaliasやると良いかも) gluster volume stop …
www.gnu.org 基本的な文字列処理 マッチした文字列を置換する $ echo 'before text' | sed 's/before/after/' after text マッチした文字列をすべて置換する $ echo 'before before before text' | sed 's/before/after/g' after after after text 複数の文…
www.gnu.org 基本的な文字列処理 マッチした文字列を置換する $ echo 'before text' | sed 's/before/after/' after text マッチした文字列をすべて置換する $ echo 'before before before text' | sed 's/before/after/g' after after after text 複数の文…
ファイルやディレクトリ配下の使用サイズを単位をK,M,Gに変換しつつ表示してくれるdu -hですがsortする時に厄介だなって思ってました。 $ du -h ググってみるとこの単位をsortする際にいい感じにsortしてくれるオプションが追加されていること気付きました。…
概要 最近話題のfastapiを早速使ってみた記事 fastapiとは Python製のASGI Web フレームワーク。ジャンル的にはFlaskのようなマイクロフレームワークになるみたいです。公式でも謳ってる「パフォーマンス、使いやすさ、運用設計」なんかが強いとのこと。後ド…
wait_for wait_for – Waits for a condition before continuing — Ansible Documentation タスクを適度に待たせて適切なタイミングで実行させるモジュール。 サービスを起動させた直後にポートチェックや、ログファイルの出力がきちんとされているか遅延実行…
neovimでcoc-nvimを使いたいときにエラーが発生。入れ替えたpythonが使えるneovimパッケージがないよって意味。 python3 -m pip install neovim (何回やってるんだこれって感じなので、、、) hotoolong.hatenablog.com
覚えられるか!ってことでメモ。よく使うフィルタたち {{ val|default('aaa') }} - val が未定義の場合に aaa を採用。 {{ val|default('aaa', true) }} - val が false として評価される値の場合('' 等)に aaa を採用。 {{ val|escape }} - <>&"' を HTML …
① net.ipv4.tcp_keepalive_time 『TCP コネクション開始から KeepAlive の送信を開始するまでの時間』を指定します。単位は sec 、デフォルトでは 7,200 sec = 2時間です。(Windows と同じです) ② net.ipv4.tcp_keepalive_intvl 『KeepAlive 送信開始後、何…
macでcocを使っていてpython3.8へ切り替えた際にjediの補完が上手く効かなくなった際に出たメッセージ。 pythonのインタプリタは切替済みでもモジュールだけが読み込めてない模様。 python.jediPathをjediのパスへ設定すれば問題なさそう。 "python.jediPath…
ipaddrフィルターを使おうとしたらタイトルのエラーが出力された。 github.com python-netaddrパッケージをインストールする必要があるとのこと。 Name : python-netaddr Arch : noarch Version : 0.7.5 Release : 9.el7 Size : 983 k Repo : base/7/x86_64 …
ブラウザ開かずにモジュールの概要とか知れる便利なコマンドperldocですがperldpc moduleだけでも便利ですがそれ以外にも便利な機能があったりするので紹介 help perldoc [options] PageName|ModuleName|ProgramName|URL... perldoc [options] -f BuiltinFun…
社内勉強プロジェクトでDebianを触る機会があったのでそのついでに操作に慣れるためにperlとmemcachedのセットアップをしたのでメモ。 Debianにmemcachedをインストールし、Perlから接続する 名前を良く聞くmemcached http://code.google.com/p/memcached/ D…
背景 ARM版macについて考えると欲しくて欲しくてたまらない。欲しい欲しい欲しい欲しいという思いを持ちつつ自分じゃ使いこなせないって心のなかで言い聞かせてる。やはりその一番の原因はARM。今まで作ってた便利Dockerもポンと移行できないのは辛い。そこ…
memcached telnetから使う 接続 set/get/delete データ置換 全削除 memcahced-toolを使ってみる 実行結果 キー一覧の取得 memcached 今更memcachedのメモ github.com お試し用の環境として以下を用意しました。全てコンテナだけで済ませる予定です。 GitHub …