地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

書き込みが多いサービス運用ってどうやるんだろうって散歩しながら思った話

Write-heavyなサービスを運用している場合にうまい感じにスケールさせる方法って何があるんだろうって疑問。Readが多いケースだったり整合性の要件が結果整合性とかであればRDBを使う必要はなさそうだけどそうじゃない場合みたいなやつ。 パッと思いつくのは…

selenium小技 (プロキシ/ヘッドレス)

背景 seleniumで色々作業した時に得た知見のメモ ↓導入方法 ■ Selenium WebDriverのインストール~動かしてみる ちなみにpythonならこんな感じで爆速で始めることも可能 $ pip install selenium # または $ conda install selenium ベース from selenium imp…

久々にLTをした

gmo.connpass.com 今日久しぶりに『クラウド環境で育った私が「CPU steal」という指標を知った話』ってタイトルでLTをしてきた。ペパボ入ってペパボの名前出しての登壇は初めてだった。リモートだとリアクションが分からないから不安になっていくのがいまだ…

【Linux】Nginxのtcpのbacklogの設定が何をしているのかに入門する

目次 目次 概要 tcpソケットプログラミングとは サーバ側 3way-handshakeと状態遷移 backlogとは syn-queue どうやったら溢れるか 溢れたらどうなるか accept-queue どうやったら溢れるか (メモ)Nginxのアーキテクチャ 溢れたらどうなるか tcp_abort_on_over…

成長速度が加速する要因ってなんだろう

成長速度が加速する要因ってなんだろうって散歩しながら思った。他者評価を気にしないで自分で「一気に成長したな」って感じることができたのは以下のような感じな気がする。 新しい環境に行った時 大きめのタスクをやり切った時 頼れる上司や先輩、同僚の異…

【GitHub Actions】入力で型とか指定できるようになった

めっちゃ便利なやつ。文字列だけしか指定できなかったのですがchoiceやbooleanを指定できるようになりました。文字列チェックをシェルスクリプトとかで実装が不要になってめっちゃ便利ですね。 github.blog 上の記事あるサンプルを入れるとこんな感じで使え…

【Linux】ltraceをstraceしたらptrace(2)を知った

ltraceをstraceしたらptrace(2)の存在を知りました。 surf.ml.seikei.ac.jp ptrace() システムコールは、親プロセスが、別のプロセスの実行の監視/制御を 行ったり、コアイメージ (core image) やレジスタの調査/変更を 行ったりする手段を提供する。 ptrace…

【MySQL】非同期IO関連のエラーが出たので見てみた

非同期I/Oのコンテキスト数は/proc/sys/fs/aio-nrで確認でき/proc/sys/fs/aio-max-nrに達すると、io_setup システムコールの戻り値に EAGAIN が返される。 $ cat /proc/sys/fs/aio-nr 0 $ cat /proc/sys/fs/aio-max-nr 65536 MySQLで遊んでいたら以下のよう…

ITエンジニアの転職活動でやってみて有益だったかなって思っていることを列挙してみる

ryuichi1208.hateblo.jp って記事をちょっと前に書いたがこのときにやってた転職活動でやってみて良かったと思ったことを列挙してみる記事。転職活動自体は2021/02 ~ 2021/05くらいまでやってて選考まで進んだのは4社で3社内定の1社不採用という感じだった。…

【MySQL】アクセス頻度の多いテーブルを調べる

dev.mysql.com table_io_waits_summary_by_table テーブルを見ればわかるらしいです。テーブル定義は以下でCOUNT_*をテーブルごとに表示して時間を置いて実行することで確認することができます。 mysql> desc performance_schema.table_io_waits_summary_by_…

【MySQL】コマンドチートシート

運用する上でとりあえず打っているコマンドをまとめていく。継ぎ足し継ぎ足しで充実させていきたい。 # テーブル情報の確認 SHOW TABLE STATUS FROM <DB名>; # テーブルの定義情報の確認 SHOW CREATE TABLE <テーブル名>; # InnoDBステータスの確認 SHOW ENGINE IN</db名>…

CircleCI上でコンテナをビルドしてDockerHubへpush

概要 DockerHubでのビルドが遅い!ってことが多いのでCircleCI上でビルドしてしまえばいいのではと思ったので環境を構築してみたメモです。 yaml 全体は下記で公開してます。 記事では抜粋して簡略化した部分を紹介してます。 ryuichi1208/py-dep-kun versio…

yum providesでパッケージを確認する

よく使うコマンドでもどのパッケージをインストールすればよかったっけ?って何回もやってる気がするがprovidesを使えば解決することを思い出したのでメモ。providesを使うことすら忘れてコマンド名 yumとかでググってる。これを書くことで忘れなくなるとい…

【MySQL】innodb_log_buffer_sizeとinnodb_log_file_size

違いがわからなくなるのでメモ。 innodb_log_buffer_size InnoDBの更新ログを記録するメモリ上の領域。コミットされていないトランザクションのためのバッファのサイズ 大量・巨大な blob を書き込む必要がなければ、4MB-8MBで良い innodb_log_file_size Inn…

ngx_http_limit_req_moduleに今度こそ入門する

ngx_http_limit_req_moduleの説明 説明はほぼほぼ省きます。とりあえず公式を読むのが一番良さそうです。 mogile.web.fc2.com ngx_http_limit_req_moduleモジュール (0.7.21) は、定義されたキーごとのリクエストの処理レート、特に一つのIPアドレスから来る…

技術ブログと日常ブログを統合してみる

IT関連の話題をしゃべる自分とリアルでの自分を紐づけたくなくて日常系のブログと技術ブログを分けていたが日常ブログをえいやで閉鎖したのでこっちを技術ブログと日常ブログにしてみる。FC2とかアメーバとか紆余曲折してついにはてブに統合する。(小学生の…

「自分の中で大切に思ってる専門書」ってなんだろうって思ったので自分も書いてみた

hiboma.hatenadiary.jp を読んでいて「自分の中で大切に思ってる専門書」ってなんだろうって思ったので自分も書いてみた。とりあえず5冊を選んでみた。 初めてのPerl 作者Larry WallによるPerlの考え方、哲学にとても惹かれたのがこの本でした。Perlを始める…

ファイル名についてる日付ごとにファイル数を出すワンライナー

root@52b8c9922ca0:/o# ls -1 2021-10-11-aaa 2021-10-11-bbb 2021-10-11-ccc 2021-10-11-ddd 2021-10-12-aaa 2021-10-13-aaa 2021-10-14-aaa 2021-10-15-aaa 2021-10-16-aaa 2021-10-17-aaa 2021-10-18-aaa 2021-10-18-bbb 2021-10-18-ccc 2021-10-19-aaa 2…

よく使うcurlコマンドのオプション

背景 curlコマンドを使う際に毎回調べて実行しているのですがさすがに面倒なのでまとめてみました。 自分のevernoteからの転載なので誤記などあったら教えてください。 curl(カール)コマンドとは サーバから、もしくはサーバへデータ転送を行うコマンド。 FT…

bashで忘れがちな機能とかいろいろの備忘録

背景 シェルスクリプトを書くことが結構あるのでその備忘録代わりに記事を書いてみました。 特殊変数とは 特殊変数とは シェルによって自動的に値が設定される特殊な変数がいくつかあり、それら特殊な変数を参照することにより、様々な情報を取得することが…

MySQL5.7 の mysql_secure_installation

セットアップ時の初期パスワードがわからなくてどうするのってなったのでメモ。ドキュメント読めよって話でした。 weblabo.oscasierra.net

【Perl】アラームでタイムアウト

イディオム的に書いておく。 #!/usr/bin/perl use strict; use warnings; local $@; eval { local $SIG{ALRM} = sub { die "timeout!!\n"; }; alarm 2; sleep 3; # 時間のかかる処理 alarm 0; }; if ( $@ ) { print "exception: $@"; } alarm ${数字}を実行…

GMOペパボ株式会社へ入社しました。

あなたは誰 ペパボを知ったきっかけとか 入った経緯とか 宣伝: 転職に使った媒体 ここが辛いよ! 入ってよかった ほか pepabo.com GMOペパボ株式会社へ2021/07/01に入社しました。丁度3ヶ月経って多分試用期間も終わったはず(?)なので入社エントリを書いて…

【ProxySQL】mysql-shun_on_failuresの罠

「mysql-shun_on_failuresの罠」ってタイトルですが罠でも何でもない話です。 preforkなwebアプリケーション -> ProxySQL -> MySQL みたいな構成のシステムがあってProxySQL <-> MySQLでネットワーク不調かなんかでconnectionが一時的に貼れなくなった時にmy…

【MySQL】SHOW ENGINE INNODB STATUSの見方を学ぶ

SHOW ENGINE INNODB STATUSの見方が全然わからなかったので読み方を調べていく mysql> SHOW ENGINE INNODB STATUS\G; BACKGROUND THREAD ----------------- BACKGROUND THREAD ----------------- srv_master_thread loops: 0 srv_active, 0 srv_shutdown, 49…

【Perl】複数行の置換

echo "tea\nconst" tea const こんな出力からtestという文字を作りたいみたいなケースでperlのワンライナーでやろうとすると何も考えないと¥nで改行されてうまくいかないです。 echo "tea\nconst" | perl -pe 's/a\ncon//m' tea const これを防ぐためにはrec…

【ProxySQL】入門する

概要 ProxySQLを触る機会があったので入門してみた記事。2.1が最新見たいだが仕事で使うのが1.4なのでなるべくそのバージョンに合わせた内容で調べていく。(最新だとこうだね〜みたいなのは書いておくつもり) proxysql.com 目次 概要 目次 ProxySQLとは 主な…

【Linux】JVM系言語以外でも暖気運転は効果があるのかの考察(修正版的な感じ)

記事概要 今見ると色々違う気がしたので前書いたやつの修正版として上げてみた。後半は手をつけれなかった。。 JVM言語で話題の暖気運転についてJVM系言語(JIT)以外でも暖気運転は効果があるのかを考察した記事です。何かしらのベンチマークを取ったとかでは…

【k8s】ArgoRolloutsでカナリアリリースを試す

k8s

概要 github.com ArgoRolloutsを使ってさくっとカナリアリリースを試す記事です ArgoRolloutsとは KubernetesのCRDで標準ではできないブルーグリーンデプロイやカナリアリリースなどの高度なデプロイ機能を提供するOSSです。ArgoCDと組み合わせることでGitOp…

サービスディスカバリに関するメモ書き的なもの

Qiitaより転載 概要 サービスディスカバリを初めてみたのでそのメモ サービスディスカバリとは サービスディスカバリ(Service Discovery、サービス検出[1])はサービスのインスタンスがもつネットワーク上の位置を決定することである[2]。 引用元: サービス…