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

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

2022-10-01から1ヶ月間の記事一覧

ロングトランザクションを見つける

cousmersとinstrumentsを有効化する UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES' WHERE NAME = 'transaction'; UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME = 'events_transactions_hi…

MySQLで計器を追加で有効化する

UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES' WHERE NAME LIKE 'memory/innodb/fts%' こうやれば有効化できる。ちなみに上記はmemoryなのでTIMEDは無視される SELECT * FROM performance_schema.setup_instruments wher…

最近作ったツールたち

GoにハマってるのでGoで色々小さいツールを書いていたので一気に紹介してみる エラーバジェットをMackerelで見るやつ github.com 指定したSLOの違反件数とエラーバジェットをいい感じに見れる。shimesabaというツールを参考に作ってみた。違いとしてはyamlな…

MySQLでクエリを投げずにトランザクションIDを振る

beginとかstart transactionしただけではmysqlだとトランザクションIDが振られる何らかのDMLを投げる必要がある。トランザクションの開始などを監視したいコードを書いてるときにこれは面倒だったので調べたらSTART TRANSACTIONにWITH CONSISTENT SNAPSHOTを…

(wip)MySQL NLJの計算量

qiita.com 上記にもあるようにNLJはO(MN)になる。

Mackerel用のエラーバジェットを計算するツールを書いた

github.com SLI/SLOを引数で指定するといい感じにタイムウィンドウからバジェットを計算してグラフ化してくれるツールを書いた。テスト全然書いてないのでこの後やっていく。

DRのパターン

DRのパターン バックアップ&リストア 定期的にバックアップを作成して遠隔地保管しておきます。 障害発生時にはバックアップからシステム復旧を行います。 パイロットライト 別の場所に低スペックのDBを起動してデータの同期を行います。 障害発生時には別…

【AWS】samconfig.toml の parameter_overrides は配列で指定可能

version = 0.1 [default] [default.deploy] [default.deploy.parameters] stack_name = "sam-app" s3_bucket = "aws-sam-cli-managed-default-samclisourcebucket-1ru428utn0xc6" s3_prefix = "sam-app" region = "ap-northeast-1" capabilities = "CAPABILI…

【Go】AWS SSMのパラメータストアから情報を取得する

複合までしてくれる package main import ( "fmt" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/ssm" ) func main() { sess, err := session.NewSessionWithOptions(session.Options{ Conf…

Cloud Watch LogsをGoから楽に使いたかったのでsdkを使ってみた

github.com 感想としてはクエリ周りの取り扱いがちょっとめんどいのでもう少し抽象化したものがあると良いのかもなぁと思った。

RDSでbinlog保存期間を変える

docs.aws.amazon.com デフォルト値は _NULL(バイナリログを保持しない)となっている。 call mysql.rds_set_configuration('binlog retention hours', 24); とすることで24時間分のbinlogを保存できるようになる。レプリカ作成などの作業をする際に使う。この…

スクリプトの絶対パスの取得

スクリプトの絶対パスの取得 SCRIPT_DIR=$(cd $(dirname $0); pwd)

Goでmysql

Go言語にはデフォルトでSQLやSQLライクなデータベースに接続するための インターフェースがデフォルトで用意されている。 http://golang.org/pkg/database/sql/ それに各DB用のドライバーを追加して、データベースに接続する go-sql-driver/mysql のインスト…