sre-lounge.connpass.com への参加とSRE NEXTの忘年会に行ってきました。SRE Loungeは初参加だったのですがどのセッションも学びがあってよかったです。最近CUEに入門したのですが#CUEでキュッとできるという発表を聞いてキュッとやってみたいなと思いました…
穴の空いたバケツがあったとしてそこに水を入れるとどうなるだろうか。答えは簡単で水はただ流れ落ちて溜まることことはない。そんなわかり切ったことをと思うかもしれないが実生活でも意図せず起きてしまいがちな問題である。わかりやすい例で言うと貯金な…
この記事は「MySQL Advent Calendar 2023」の14日目の記事です! 一言で書くと InnoDBはdiskに書くときページ単位でCRC計算してるそれを使って検出してる 本文 MySQLに限った話ではないですがデータ自体が破損するケースは往々にしてあります。よくある(?)例…
cuelang.org CNDTの懇親会の二次会とセッションでも触れられていたCUE言語ですが名前しか知らないが1日に2回も聞くってことはどこかで役に立つかも?ということでメモを置いておきます。 CUE言語とは? CUE is an open source language, with a rich set of …
この記事はMackerel Advent Calendar 2023の11日目の記事になります!今年からお話をいただきMackerelアンバサダープログラムに参加させていただいています。せっかくなので個人的に好きなMackerelプラグインTOP5を書いていきます!! 5位 mashiike/shimesab…
perf、ftrace、SystemTap、kprobe、uprobe、DTraceあたりについてのメモ perf: Linuxカーネルに組み込まれているパフォーマンス解析ツールです。CPUサイクル、命令カウント、キャッシュミスなど、様々なハードウェアレベルのイベントを測定することができま…
この記事は「🎅GMOペパボエンジニア Advent Calendar 2023」の9日目です!Otelについて書こうと思っていたら完全に忘れていたのでこちらです! 本文 MySQLにはレプリケーションによって同期されたデータベースサーバを構築する機能があって高可用性や負荷分散…
github.com 突如死んでるプロセスがあってシグナルを受けてるのところまではわかったがどこから受けてるのかがわからず困っていたらkillsnoopというツールがbccにあったので使ってみた。これはkill(2)によって送信されるシグナルを追跡する機能を提供してい…
perl -pi -e 'BEGIN{undef $/;} s/\n*\z/\n/' filename.txt BEGIN{undef $/;} ファイル全体を一つの文字列として扱う。特殊変数$/(入力レコードセパレータ)を未定義にする s/\n*\z/\n/ ファイルの末尾にある0個以上の改行(\n*)を単一の改行(\n)に置換
この記事はLinux Advent Calendar 2023の3日目の記事です。 firewalld.org 2018年7月12日にリリースされた0.6.0から利用が可能になっているのがリリースノートからわかった。ちなみにFirewallBackendを切り替えることでiptablesとnftablesの切り替えはできる…
この記事はGMOペパボエンジニア Advent Calendar 2023とWebAssembly Advent Calendar 2023の2日目の記事です! 目次 目次 背景 WASM WASMとは WebAssembly テキスト形式 特徴 WASMの歴史 どれくらいの性能なのか 安全性 触ってみる WASIとは 現在はPreview版…
この記事は Linux Advent Calendar 2023 の1日目の記事です! journalとは journalとはsystemd環境におけるログ管理システムjournaldによって出力されたログファイルを指します。journalとういう言葉自体は訳すと「雑誌,学術誌,会報,新聞」らしいです。sy…
SetAttributesを使うことで実現できる。例えば以下はtraceの情報にAddという関数の引数をattributeにつけることで情報が追加される。 package calc import ( "context" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" ) var tracer = ote…
lessに-Rをつけて -R or --RAW-CONTROL-CHARS Like -r, but only ANSI "color" escape sequences and OSC 8 hyperlink sequences are output in "raw" form. Unlike -r, the screen appearance is maintained correctly, provided that there are no escape …
考えただけでも恐ろしいが考えてみる。どれくらいのダウンがありそうだろうか。ざっと考えると1~4までは大体決まった作業になりそう。ただ問題は5でこれを焦りながらやるのはメンタルやられそうだなぁと思った。いやーそうならないようにしよう。 1. シャッ…
github.com wasip1ではネットワーク関連の機能が一部しかサポートされてないので使えないと思っていたがstealthrocket/netを使うことでできる模様。 こんな感じのDockerfileを用意しておく。このライブラリではWasmEdgeをサポートしているらしいのでそちらを…
github.com 結構欲しかったやつでめっちゃとても便利。撮った写真をDropboxとかNASに移すときにFinderだと常にリスト表示してるのでCLIで操作できたらなと思っていたので嬉しい。0.44.0を入れれば使える。
目次 目次 書いた背景 Dragonflyとは スループット25倍の話 計測方法次第ではRedisと性能差はそこまでないってこと? どうやって性能を出しているのか ロックマネージャーとは VLLの実装をGoで書いてもらった まとめ/感想 参考資料 書いた背景 ChatGPTで論文…
レスポンスにCache-Control: max-ageがない場合って何も考えずにクライアントにキャッシュされないと思っていたがどうやらそうではないらしい。この挙動自体はRFCでも定義されている。HTTP は可能な限りキャッシュするように設計されているので、Cache-Contr…
前職時代の後輩と久々に飲みにいってブログ書くと炎上とかまさかりが怖くて〜みたいな話をしていて色々考えがまとまってなかったので書いてみる。「この考えは間違っている」や「こんなのも知らないのか」とか「こんなのやってる暇あるなら仕事しろ」とか今…
dev.mysql.com リードレプリカでbinlogが更新されないなぁと思っていたらlog-slave-updatesがオフになっていて更新されていなかった。これはレプリケーションソースサーバーから受信した更新を、レプリカ独自のバイナリログに記録するかどうかを決めるための…
[Session] session.save_handler = memcache こんな感じで定義することでファイル以外のハンドラを設定することができる。 www.php.net 上記のサンプルだと以下のライブラリを使うように設定してある PECL :: Package :: memcache ちなみにmemcacheとmemcach…
すずめの戸締りのブルーレイを買って見返してたら割と近場に色々あることに気づき久々の長時間運転で回ってきた。朝に行こうって決めてホテル取って300キロくらいの中距離ドライブだったけどあんま疲れなくてまだギリギリ20代であることに感謝の気持ちが芽生…
MySQLの仕様として一時テーブルはテーブルを再オープンできないので一つのクエリ内では複数回参照するということができない。 mysql> desc employee_table; +---------------+--------------+------+-----+---------+----------------+ | Field | Type | Nul…
dev.mysql.com mysqlslapは,MySQLの負荷をエミュレーションできるクライアントアプリケーション。MySQLが公式でサポートしているツールになります。並列実行数やSQLの自動生成など機能豊富で色々な負荷試験ができそうです。MySQLをインストールすると、デフ…
今更すぎるがMySQL 8.0から入ったperformance_schema.data_locks・performance_schema.data_lock_waitsあたりを学んでメモしていく。 performance_schema.data_locks dev.mysql.com performance_schema.data_locks は、MySQLデータベースのパフォーマンス監…
docs.aws.amazon.com RDS for MySQLでも使えるPerformance InsightsだがPerformance Schemaを有効化している状態だとソースレベルの処理時間が取れないということがわかった。オンにしているとこんな感じでイベント単位の処理時間しか見えない。もちろんこれ…
github.com 対象のアプリケーションを書く net/httpを簡単なwebサーバをターゲットにします。 package main import ( "fmt" "net/http" ) func helloHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello") } func main() { http.Handle…
動的ライブラリはプロセスの起動時にリンクされ以降はメモリにマップされたものを使い続けます。ただ動的とはいえプロセスを起動した後にライブラリを更新したとしても起動済みのプロセスには何もしなければ置き換わることはありません。再起動がしやすい環…
思い切ってなんかを始めようと思ってVue.jsに入門し始めた。フロントエンドは新卒研修とちょっとだけ開発をしたくらいで正直なんもわからんので0からやっていく。始めようと思った経緯は特にないけどしばらく入門してなんか作ってみようかなぁと思う。