サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
ryuichi1208.hateblo.jp
ryuichi1208.hateblo.jp ちょっと前に退職エントリを出してそこにも書いてますが11月1日入社でやっています。ロールは引き続きSREとしてサービスの信頼性に向き合っていこうと思っています。入社の経緯とかやってることは会社の公式の入社エントリ(?)に書くのでここでは簡単にだけ書きます。 きっかけとか SRE NEXT 2024のジョブボードに書いてあってIVRという単語は知ってたのですがIVRのSREって何やるんだ?って気になったのがきっかけでした。話を聞いてみると想像以上にビジネスが面白くて一気に興味を持ちました。詳しい話はnoteの方に書きますので読んでもらえると(笑) 技術スタック ECSとPostgreSQLとPythonな環境でこれまでとは全く違う技術スタックですがそれぞれ奥が深くて楽しくやれています。ECS便利ですねぇ。PostgreSQLは触ったことはあるけど
2024年10月30日をもって、約3年間勤めたGMOペパボを退職します。 入社したのは2021年7月なのでした。 ryuichi1208.hateblo.jp ペパボでは主にSREとして、サービスの信頼性に関する施策の考案と実践を担当してきました。入社時にはSREの概念は認知されていましたが、当時はまだ改善の余地が多く、日々多くの課題に取り組んでいました。 特にアラート対応は大変で、一晩に3〜4回もアラートが鳴ることがありました。携帯を投げ捨てたくなるほど頻繁に通知が鳴っていたのを今でも覚えています。「このままでは日中の業務に支障が出るやん...」と思い、オンコール当番に入るタイミングで、アラート整備を進めました。 実際、記事にも取り上げていただき、PagerDutyの整備やアラート内容の見直し根本対応の実施などで、最近では月単位で深夜の呼び出しがゼロの日も増えました。(逆に少し物足りない
メール送信 LPIC取得時にさらっと構築したメールサーバ。 送信テストはローカルでしかやってなく特に困ることもなかったけど外部に送信する場合はどうやるんだろうって思って色々調べた。 環境 送信 OS : CentOS 7.7 メールサーバ : Postfix 手順 ① 何はともあれサービスの起動 このタイミングでカーネル側でipv6を無効にしてるのにhostsに書かれてるぞと行ったwarningが出ていることに気づく(この辺はplaybookへフィードバック) # ログ $ less /var/log/mailog Mar 5 06:27:46 choco01 postfix/master[1688]: warning: /usr/libexec/postfix/pickup: bad command startup -- throttling Mar 5 06:28:46 choco01
yuru-sre.connpass.com 特に資料とかを公開する予定はないのでアレですがLTをやってきました。ある日知らないサーバーが出てきたという感じの話です。誰も知らないようなサーバーができてしまう可能性があるので手動で構築はやめてIaCとかしましょうねというまとめ。 SRE NEXTの話をさせてもらった 宣伝する枠を貰えたので宣伝をしてきました。来年の7月なんでまだ先ですが登壇ネタ練ったりスポンサーやりたい場合は予算の確保とかを年内にやったりする必要あるだろうしめっちゃ先って感じではないのかもしれない 詳細とかは公式ブログも見てもらればと!(随時更新中) speakerdeck.com パネルディスカッションがすごかった 豪華メンバーでのパネルディスカッション『障害が起きたらどう動く? 今日からできるインシデントレスポンス』を見てきました。好きな障害は?みたいな軽め(?)のネタから
SRE NEXT 2024 sre-next.dev 今年もやってきました。2023年で一回スタッフをやっているので今年で2回目です。 印象に残ったセッション 工学としてのSRE再訪 / Revisiting SRE as Engineering speakerdeck.com 「技芸」と「工学」の側面からで考えて進めていくというのは考えたこともなくてもとても面白かったです。技芸と工学の共存について今後もお話を聞いていきたいなと思える内容でした。 speakerdeck.com SRE の考えをマネジメントに活かす speakerdeck.com SREは生き様。すごく納得はしていたがどうSRE以外の活動に活かすかって結構難しかったりします。この発表を聞いて類似点を見つけつつSREとマネジメントでの違いに着目するという進め方はさまざまな場面で参考になるなと思いました。 SREが考えるハイ
sre-lounge.connpass.com 7/5(金)にSRE NEXTのスタッフとして京都でやってきました! 久々の京都 YAPC::Kyoto 2023ぶりの京都でした。あの時は春先でしたが判断ミスで半ズボンで行ってしまい寒くて仕方なかったという感じでしたが今回は暑くてやばい!という感じでした。新幹線を降りた瞬間から感じるモワッとした感がすごかったです。気温を見たら35度とか表示されていて仙台は24度とかで過ごしやすいなぁと朝思って出たらこんな感じだったのでやばかったです(語彙力) Road to SRE NEXTとは blog.sre-next.dev セッション speakerdeck.com ソーシャルゲームとSREの話。自分は関わったことのない分野だったので面白く聞けました。出ては撤退していく分野にも見えている中で撤退期のSLI/SLOの話なんかにフォーカスした話を聞きた
概要 DynamoDB、Cassandra、ScyllaDB など、多くの非常にスケーラブルな NoSQL 分散キー値型データベースの基礎となるデータ構造です。RDBでメインのB-Treeとは違ってKVSなどで使われています。一方でTiKVなどNewSQLの文脈でも登場する機会が多く知っておかないといかんなということでリンク集のメモ記事を書きました。 B+Treeはディスクシークが存在したHDD用に最適化されたデータ構造でSSDやNVDIMMなどの場合には最適化されていない。 リンク集 https://www.cs.umb.edu/~poneil/lsmtree.pdf tikv.org en.wikipedia.org qiita.com nryotaro.dev dev.to
MySQL 5.7を使っているシステムで週単位で徐々にメモリ使用量が増え続けているという現象に遭遇したのでこれなんでだろうと思って調べてみたメモ MySQLのメモリ管理 dev.mysql.com MySQLがどのようにメモリを使用しているかの話。innodb_buffer_pool_sizeにデータ載せて色々やるよという感じ。innodb_buffer_pool_sizeだけ気にしておけばよいかと思いきやkey_buffer_size、 tokudb_cache_size、 query_cache_size、 table_cache、 table_open_cacheについても考える必要があるらしい。innodb_buffer_poolとは別のところでメモリの確保/開放が行われる領域がある。ちなみにinnodb_buffer_pool_sizeは起動時に領域を確保するとのことなのでVSZ
yapcjapan.org YAPC::Kyoto 2023で登壇してきました!これまでオフラインイベントで登壇といえば少人数でのイベントくらいでこの規模で話すのは初だったので緊張してましたが始まってしまえばとても楽しめて話せてとても良い機会になりました!ありがとうございます!ほぼ満席(多分)で発表後の質問やTwitterでも反響があってとても嬉しかったです。トレーニングなどのコスト周りの内容はもう少し補足が必要だったなと思ったのでブログなり資料修正をして追記しようかなと思います。 speakerdeck.com セッションもとても刺さるものが多くて学びや今後のやる気に繋がるものが多くてよかったです。(詳細については会社のテックブログに記載しようかなと思います。)。懇親会ではネットの向こう側だった方と多く話す機会を得ることができ場を作って頂いたHelpfeelさんにはとても感謝です。 その
前説 この記事は「GMOペパボエンジニア Advent Calendar 2022」の23日目の記事です! adventar.org 目次 前説 目次 本編 要件整理 結論 なにはともあれボトルネック特定/改善をしてみる 家庭用サーバの場合 Disk性能を上げてみる ネットワーク性能を上げてみる RAID 0で頑張る 分散並列ファイルシステムをいれる 分散並列ファイルシステムとは Lastreでスループットを上げて頑張る これは現実的なのか クライアントを増やせば良い? 「1TBのディスクコピーが5秒位で終わったっす」を満たすのに必要なもの (おまけ)macOSのファイルシステム:APFSだとコピーが一瞬で終わる (おまけ)InfiniBand および RDMA (おまけ)永続化メモリ (コラム)1TBくらいメモリを積んでみると (コラム)TCPは理論的に限界性能が決まっている (コラム)
概要 ファイル名のリストだけ高速に欲しいみたいな場合に大量にファイルがあるディレクトリでlsを打って返ってこないみたいなのが地味にストレスになったりするので高速に済ませる手段が無いかを調べてみた。 1ディレクトリに100万ファイル程度 計測前にecho 3 > /proc/sys/vm/drop_cachesを都度実行し10回程度計測 計測 ls -l めっちゃ遅い real 0m24.052s user 0m5.668s sys 0m8.071s straceをしてみるとこんな感じ。-lをつけるとメタデータを取りに行くのでこれが遅いらしい。sysが長い % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 44.6
この記事は GMOペパボエンジニア Advent Calendar 2021 - Adventar の20日目の記事です。 概要 qiita.com 上記の記事でRedisを使う時に見積の二倍の容量が必要ということが述べられています。これについて細かく「なぜ?」を追求して深掘りしてみようと思って書いた記事です。結論としては記事でも述べられている下記になります。 redisのバックアップが走る際、おそらく現状使用している量と同じだけのallocateを要求しているために、redis自体はメモリ使用が50%強だとしても、バックアッププロセスが落ちてしまう模様。 Redisにはデータ永続化の機能が二つあって特定の時点のスナップショットを取るRDBとデータベースのWAL/REDOログのような機能のAOFというものがあります。今回はRDBの方を追っていきますがAOFのタイプでも起こりうる話となってい
/proc/net/netstatを頑張って理解していく。ドキュメントないものをどうやって調べていくかはちょっと悩む... netstat グラフに出てくる項目 概要 TcpExtSyncookiesSent tcp.syncookies.sent 送信されるSYNクッキーの数 TcpExtSyncookiesRecv tcp.syncookies.recv TCPスタックが受信するSYNCookieの応答パケットの数 TcpExtSyncookiesFailed tcp.syncookies.failed SYNCookieからデコードされたMSSが無効 TcpExtEmbryonicRsts tcp.misc_errors.embryonic_rsts SYN_RECV状態の接続に対して受信された無効なパケット TcpExtPruneCalled tcp.misc_errors.pru
目次 目次 概要 tcpソケットプログラミングとは サーバ側 3way-handshakeと状態遷移 backlogとは syn-queue どうやったら溢れるか 溢れたらどうなるか accept-queue どうやったら溢れるか (メモ)Nginxのアーキテクチャ 溢れたらどうなるか tcp_abort_on_overflow=1 tcp_abort_on_overflow=0 まとめ 概要 nginx.org backlog=number sets the backlog parameter in the listen() call that limits the maximum length for the queue of pending connections. By default, backlog is set to -1 on FreeBSD, DragonFly BSD,
背景 curlコマンドを使う際に毎回調べて実行しているのですがさすがに面倒なのでまとめてみました。 自分のevernoteからの転載なので誤記などあったら教えてください。 curl(カール)コマンドとは サーバから、もしくはサーバへデータ転送を行うコマンド。 FTP,SFTP,LDAP,TELNETなど多くのプロトコルに対応している。 F5アタックなんかもワンライナーでさくっとできる。(悪用禁止) 一番基本的な使い方はHTTPリクエストを実施し、 その内容を標準出力するといった使い方でしょうか。 jsonをパースしてくれるjqは必須なので入れておきましょう。 書式は下記 curl [options] [URL] ちなみにソースは下記から見れます。 ■ curl/curl 基本形 # HTTPリクエストを実施し結果を標準出力へ $ curl http://対象のURL #コンマや[]を使って
hiboma.hatenadiary.jp こちらのアンサー記事を書いてみますw なぜ CoW の話が出てきたのか なぜCoWを気にしたのかを話すとまず社内で動かしているAPIサーバがメモリ利用過多となってアラートがなったのが話のスタートでした。サービス自体はUnicornを使って動いています。 メモリ利用過多となったときに調べる手法は言語ごとに様々ですが私はRubyの経験がほぼなくプロファイラなども使ったことがありません。この状況でできることは/procを見るくらいしかなかったので/proc/$pid/smapsを見始めました。そこで始めたのがメモリ共有率の計算でした。 以下のツールを書いてUnicornの親子プロセスのメモリ共有率を確認するとなんと40~60%程度となっていて「え!?」ってなったのが始まりでした。プロセスの生存期間が長いのかと思ったのですが起動時間も出すと数分前に起動し
systemdのカスタムサービスファイルを書くときにどのTypeで起動を判定するかのTypeでType=notifyについて調べたメモです。 github.com Type=notifyとは 以下のような記載があります。フォアグラウウンドで実行を継続するデーモンで使えるType=simpleとほぼ同じようですが起動/停止などをsd_notify(3)というsystemd用の関数用いて通知を行います。ちなみに使用するにはsystemd-develをインストールする必要があります。 Type=notify: Type=simple と同じですが、利用可能になったときにデーモンが systemd に信号を送るように条件がつけられます。この通知のリファレンス実装は libsystemd-daemon.so によって提供されています。 参考: systemd - ArchWiki simpleとの違
hatebu.me 暇つぶしにやってみた。 エンジニア歴 -> 丸3年(インフラエンジニアって肩書きだったことはないはず) 実務じゃなく趣味だけ触ったは基本× DB設計 (0/4) [×] 要件からDB定義を作成できる [×] ER図を作成できる [×] 第3正規化まで正規化できる [×] パフォーマンスを意識したインデックス設定ができる パッケージ管理(3/4) [◯] RPMビルド環境がつくれる [◯] specファイルが書ける [◯] 独自YUMレポジトリを構築できる [×] debパッケージも作成できる Webサーバー構築(7/8) [◯] Apache・NginxでWebサーバーを構築できる [◯] リバースプロキシを設定できる [◯] エラーログが読める [◯] バーチャルホストが設定できる [◯] Rewriteのルールが記述できる [◯] HTTPSのWebサーバーを立てら
このページを最初にブックマークしてみませんか?
『地方エンジニアの学習日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く