並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 32 件 / 32件

新着順 人気順

kazeburoの検索結果1 - 32 件 / 32件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

kazeburoに関するエントリは32件あります。 isuconパフォーマンスサーバ などが関連タグです。 人気エントリには 『Re: 結局、Go言語をやめる理由はなかった件 - Hateburo: kazeburo hatenablog』などがあります。
  • Re: 結局、Go言語をやめる理由はなかった件 - Hateburo: kazeburo hatenablog

    すみません、ISUCONのアレに火がついてしまったので..。 Advent Calendarとはとくに関係がありません。 qiita.com qiita.com こちらの記事をみて、気になってしまったので interpolateParams の追加とMySQLチューニングをしてベンチマークを回してみました。 ベンチマークの環境が公開されているのは素晴らしいですね。 github.com 8vCPU/16GB Memのc5a.2xlargeなEC2のインスタンスを起動して、以下の手順にしたがってdockerとdocker-composeをインストールしました。OSはUbuntu 20.04を使いました。 docs.docker.com docs.docker.com 上記のbenchmarkのrepositoryをgit cloneし、compose build && compose upし

      Re: 結局、Go言語をやめる理由はなかった件 - Hateburo: kazeburo hatenablog
    • sleepy コマンド - Hateburo: kazeburo hatenablog

      さくらのアドベントカレンダー2022 13日目の記事です。 qiita.com サーバ運用を行なっていると、非同期で行われるサーバの設定反映や起動を待ったり、メンテナンス後に監視を再開する前にすこし待つなんてこともあるかと思います。 そんな時に、人力で3分待ったらコマンドを打つ、Webコンソールを操作するなんてやっていると人間「必ず」忘れます。監視のメンテナンスモードの解除などを忘れてしまうとそれこそ事故につながります。チェックリストを利用した対策もありますが、技術的に解決するのが望ましい姿です。 そこで、よくやってきたのがsleepコマンドと組み合わせて sleep 180 && mkr update --st working とする方法。(サンプルとしてMackerelでサーバのステータスを変更しています) このように実行しておけば、自動で3分後にmkrコマンドが実行され、サーバの監視

        sleepy コマンド - Hateburo: kazeburo hatenablog
      • さくらインターネットの新PaaSの「Hacobune」で phpMyAdmin と WordPress を動かす - Hateburo: kazeburo hatenablog

        昨日オープンベータが開始されたさくらインターネットの新しいPaaS、DockerイメージやGitHubとの連携することで、インフラにとらわれることなく、アプリケーションのデプロイができるようになっています。データベースや永続ボリュームがすでにサポートされ、今後、WebサービスやSaaSの基盤として、またチームでの開発に適した機能が拡充されていく予定です。 www.sakura.ad.jp さっそく試していただき、記事を書いていただいています。ありがとうございます。 qiita.com qiita.com この記事ではサンプルのアプリケーションとして、MySQLアドオンを使い phpMyAdminとWordPress を立ち上げてみます。 プロジェクトの作成 さくらのクラウドのホームからHacobuneのコンソールへ移動し、新しいプロジェクトを作ります。 ここでは名前は hacopress

          さくらインターネットの新PaaSの「Hacobune」で phpMyAdmin と WordPress を動かす - Hateburo: kazeburo hatenablog
        • 電子書籍版5/30、紙版6/4「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」が発売されます! - Hateburo: kazeburo hatenablog

          共著で執筆しました「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」が発売されます。紙版は6/4日発売、電子書籍版は本日5/30から発売されております。通称 #ISUCON本 です。 ISUCONを例にするWebアプリケーションの主にサーバサイドのチューニングを広く扱うユニークな書籍となっております。ISUCONに参加する方はもちろん、業務でWebアプリケーションの開発運用にあたるエンジニアまで役に立ちそうな内容が盛りだくさんになります。 見本誌が届きましたが、分厚い、そして盛りだくさんな内容となっています。 技術評論社のページ gihyo.jp Amazon 達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践 作者:藤原 俊一郎,馬場 俊彰,中西 建登,長野 雅広,金子 達哉,草野 翔技術評論社Amazon ISUCON本

            電子書籍版5/30、紙版6/4「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」が発売されます! - Hateburo: kazeburo hatenablog
          • ISUCON13のベンチマーカーのDNS水責め攻撃について - Hateburo: kazeburo hatenablog

            この記事はさくらインターネット Advent Calendar 2023の12月3日の記事になります。 先日行われました ISUCON13 の作問を担当しました。参加者の皆様、スタッフの皆様ありがとうございました。 このエントリではISUCON13のDNSに関わる要素とベンチマーカーから行われたDNS水責めについて紹介します。 ISUCON13の問題の講評と解説は以下のエントリーでも行っていますので読んでいただけると嬉しいです isucon.net こんいす〜 ISUCON13における名前解決 上記のエントリーにもある通り、今回のISUCONではDNSが問題の一部として出てきます。 これまでポータルから参加者は割り振られたサーバの中から負荷をかけるサーバ1台選択し、ポータルはそのサーバに対して負荷走行を行うことが多くありましたが、今回はサーバ1台を選択したら、ベンチマーカーはそのサーバの

              ISUCON13のベンチマーカーのDNS水責め攻撃について - Hateburo: kazeburo hatenablog
            • さくらインターネット株式会社に入社しました - Hateburo: kazeburo hatenablog

              あっという間に1週間経ってしまいましたが、2021年1月18日より、さくらインターネットにてお仕事をしております。 先月から長めの冬休みにさせていただいておりましたが、本日さくらインターネットに入社させて頂きました。公私ともに長くお世話になっているこの会社でいろんなサービス支えていきます。 1日目からリモートなので写真はイメージです pic.twitter.com/LqyOAoA5dA— スタンドの時間です�! (@kazeburo) 2021年1月18日 前職中は本当にたくさんの皆様にお世話になりました。ありがとうございます。挨拶もほとんど出ておらず申し訳ありません。 さくらインターネットは20年ほどユーザとして使っており、またmixiやメルカリでもサーバを利用しており、公私共に馴染みのある会社です。 2018年の北海道胆振東部地震の際には対応はもちろん、情報がまとまってない中で直接お話

                さくらインターネット株式会社に入社しました - Hateburo: kazeburo hatenablog
              • mackerel plugin で瞬間的な負荷を捉える mackerel-plugin-maxcpu - Hateburo: kazeburo hatenablog

                とあるAPIに対するアクセスが、 回数 時間 1833 time:27/Oct/2020:21:32:25 1657 time:27/Oct/2020:21:32:26 1616 time:27/Oct/2020:21:32:27 2584 time:27/Oct/2020:21:32:28 14958 time:27/Oct/2020:21:32:29 6619 time:27/Oct/2020:21:32:30 1725 time:27/Oct/2020:21:32:31 1796 time:27/Oct/2020:21:32:32 1713 time:27/Oct/2020:21:32:33 1932 time:27/Oct/2020:21:32:34 1797 time:27/Oct/2020:21:32:35 1841 time:27/Oct/2020:21:32:36 という感

                  mackerel plugin で瞬間的な負荷を捉える mackerel-plugin-maxcpu - Hateburo: kazeburo hatenablog
                • 買ってよかった2022 - Hateburo: kazeburo hatenablog

                  年末恒例 kazeburo.hatenablog.com テレビ前に置くスピーカーを買った www.sonos.com Sonos ソノス Beam ビーム Soundbar サウンドバー Dolby Atmos対応 Amazon Alexa搭載 BEAM2JP1BLK ブラック Sonos(ソノス)Amazon Apple AirPlay 2対応でBluetoothのような煩雑なことがなく、すぐに音楽を鳴らせるし、音にも満足。 Dolby Atmos対応になったので、2本(?)ほど4K ULTRA HD Blu-rayを買った。 機動戦士ガンダム 閃光のハサウェイ 【4K ULTRA HD Blu-ray】 バンダイナムコアーツAmazon (初回限定生産)ロード・オブ・ザ・リング トリロジー・フィルムコレクション(4K ULTRA HD&HDデジタル・リマスター ブルーレイセット)(1

                    買ってよかった2022 - Hateburo: kazeburo hatenablog
                  • ISUCON11予選に「チーム中目黒乗り過ごし」で参加し本選出場決まりました - Hateburo: kazeburo hatenablog

                    ISUCON11の予選に参加し、なんとか本選出場を決めました!チームは去年と同じ「中目黒乗り過ごし」でメンバーも変わらず、hanabokuro氏、mtokioka氏と参加しました。 isucon.net チーム中目黒乗り過ごしとして、2年連続で9位で本選出場です。去年の予選記事はこちら。 kazeburo.hatenablog.com ちなみに、去年の本選はFailでした。 先日ISUCONのインタビュー記事に載りましたので、こちらもどうぞ type.jp 今回の問題 ISUのコンディションを収集し、可視化するサイトということで、IoTや大量のネットワーク機器の監視メトリクスの扱いが課題のネタとなっていたように思いました。 世界観が面白く、ISUが投擲の道具じゃなく、愛される存在になったのだと感慨深いものがありました。 構成とスコア 当初は1台でやっておりましたが、最終的に3台を次のように

                      ISUCON11予選に「チーム中目黒乗り過ごし」で参加し本選出場決まりました - Hateburo: kazeburo hatenablog
                    • 長野雅広(@kazeburo)に聞く「さくらインターネットに入社した理由」 #さくマガ #さくらインターネット - さくマガ

                      約1年前にさくらインターネットへ入社した長野雅広(@kazeburo)。日本における SRE ※の先駆者ともいえる存在です。 ※ SRE とは Site Reliability Engineering の略。サービスの裏側にあるインフラや、Web アプリケーションの運用を支える仕事。 mixi、livedoor、メルカリといったサービス提供会社を経て、サービスを支えるインフラ側であるさくらインターネットに入社した理由を聞きました。 長野雅広プロフィール 2021 年 1 月にさくらインターネットへ入社。大学在学中から京都でスタートアップ企業に参加。2006 年に株式会社ミクシィに入社し、2010 年に株式会社ライブドアに転職。Web サービスのチューニングコンテスト「ISUCON」の創設に関わる。2015 年に株式会社メルカリに入社し、SRE 組織の立ち上げに携わる。 Twitter:@k

                        長野雅広(@kazeburo)に聞く「さくらインターネットに入社した理由」 #さくマガ #さくらインターネット - さくマガ
                      • hirose31/s3surfer でさくらのクラウド オブジェクトストレージにアクセスする - Hateburo: kazeburo hatenablog

                        hirose31さん作のAmazon S3にあるファイルリストの閲覧とファイルのダウンロードにとても便利なツール s3surfer にAPIのエンドポイントURLを切り替えるオプションをつけていただき、さくらのクラウドのオブジェクトストレージにもアクセスできるようになりました。 github.com さくらのクラウドのオブジェクトストレージについてははこちら cloud.sakura.ad.jp こちらのサービスではS3互換のAPIを提供させていただいています。 使い方 Mac/Linuxの場合はGitHubのリリースページからバイナリをダウンロードしてインストールできます。v1.0.3 以降で --endpoint-url オプションが使えます。 さくらのクラウドのオブジェクトストレージのAPI Endpointを指定して起動します。その他のS3互換ストレージでも利用できるかと思います。

                          hirose31/s3surfer でさくらのクラウド オブジェクトストレージにアクセスする - Hateburo: kazeburo hatenablog
                        • YAPC::Kyoto 2023でDNS水責め攻撃とGoによるベンチマーカの発表をしてきました #yapcjapan - Hateburo: kazeburo hatenablog

                          YAPC::Kyoto 2023 に参加してきました! 数年ぶりに開かれたYAPCで、数年ぶりに会うエンジニアの同窓会みたいな雰囲気ありつつ、新しい参加者も多く最高でした。オフラインイベント楽しいです。スタッフの皆様ありがとうございました!! 京都まで行かせてくれた家族にも感謝 会場のKRPは2006年まで働いていた場所で、17年も経ってそこで発表する機会をいただいたのは個人的に感慨深いものがあります。はてなの大西さんの発表は自分にとってもとても懐かしく聞いておりました。 エモさしかない pic.twitter.com/6V8gpxx4bg— 達人が教えるつぶあん🇺🇦 (@kazeburo) 2023年3月19日 発表してきた 私の発表はこちら speakerdeck.com DNS水責め攻撃とその対策については1月に開催されたJANOG51 Meeting in 富士吉田でも紹介して

                            YAPC::Kyoto 2023でDNS水責め攻撃とGoによるベンチマーカの発表をしてきました #yapcjapan - Hateburo: kazeburo hatenablog
                          • エンジニアと立ち話。Vol.28 @kazeburo(メルカリSoftware Engineer)ちょっとお話いいですか? | mercan (メルカン)

                            エンジニアと立ち話。Vol.28 @kazeburo(メルカリSoftware Engineer)ちょっとお話いいですか? メルカリで働くソフトウェアエンジニアにちょこっとお話を聞いていく本シリーズ。第28回では、メルカリSite Reliability Engineering(以下、SRE)チームの@kazeburoにちょこっとお話を聞きました。聞き手は、メルカリBackendエンジニアの@sota1235です。 メルカリSREが発足したのは2015年。当時からシステム運用を支え続け、現在はテックリード(以下、TL)を務める@kazeburoは、今のメルカリの変化をどのように感じているのでしょうか。また、同じTLとして@sota1235が「ずっと聞いてみたかったこと」をぶつけました。 メルカリ入社の決め手は「レゴ」だった? @sota1235:@kazeburoさん、ちょっとお話しいいで

                              エンジニアと立ち話。Vol.28 @kazeburo(メルカリSoftware Engineer)ちょっとお話いいですか? | mercan (メルカン)
                            • 2019年 作った・喋ってきたまとめ - Hateburo: kazeburo hatenablog

                              振り返り的なやつです。 去年の振り返りはこちらです。 kazeburo.hatenablog.com ISUCON9 予選出題した bokko, catatsuy, sota1235 とともにISUCON9の予選出題をやらせていただいた。7月から9月にかけて圧倒的に手を動かした。 解説と講評のほか、ローカル環境で予選問題を動かす方法についての記事を書かせてもらった。 isucon.net isucon.net 参加していただいた方、出題メンバー、各言語への移植をやっていただいた皆様、さくらインターネットの皆様、アリババクラウドの皆様、そして941さんをはじめLINEの皆様、改めて感謝です。 作った percentile github.com 説明はないが、簡単にpercentileを求められるようにするコマンドです。 $ grep status:499 access.log|lltsv -

                                2019年 作った・喋ってきたまとめ - Hateburo: kazeburo hatenablog
                              • ISUCON10予選に「チーム中目黒乗り過ごし」で参加し本選出場決まりました - Hateburo: kazeburo hatenablog

                                ISUCON10の予選に尊敬するエンジニアであるhanabokuro氏、mtokioka氏と参加して、9位で本戦出場できることになりました。うれしい! ISUCON8は予選落ち、去年は出題をやらせていただいたので、本選出場は3年ぶりになります 今年の問題も、よく練られた問題で開始から終了まで楽しむことができました。運営のみなさま朝早くから遅くまで本当にありがとうございます。 準備 GoはMackerelプラグインやミドルウェアでよく書いておりますが、、いわゆるWebアプリケーションはあまり書いてないので、手を動かすために去年のISUCON9予選の問題を手元で動かして取り組んでみてました。 ローカル環境で動かすのは以下の記事が役立ちます。 isucon.net また、Cloud TraceやProfilerを試すために、takonomura氏の記事やgithub repositoryをすごく

                                  ISUCON10予選に「チーム中目黒乗り過ごし」で参加し本選出場決まりました - Hateburo: kazeburo hatenablog
                                • MySQLのprocesslistをgrep して killする myps コマンド - Hateburo: kazeburo hatenablog

                                  なんらかの理由で MySQLにクソ重いクエリがたくさん流れてしまった場合、SHOW PROCESSLISTをみて、クエリをKILLするなんてことは、あったりなかったりします。 この時にクエリが数十個となると、手作業ではやりきれませんので、コマンドを駆使して対応することになります。 ちょっと前にやったのが以下のコマンド /usr/bin/mysql --defaults-extra-file=/path/to/.my-other.cnf -NB -e 'SELECT GROUP_CONCAT(ID) FROM \ information_schema.PROCESSLIST WHERE STATE = "Creating sort index" AND TIME > 1000 AND INFO \ LIKE "select%example%"' | grep -v NULL | /usr/b

                                    MySQLのprocesslistをgrep して killする myps コマンド - Hateburo: kazeburo hatenablog
                                  • mackerel-plugin-pinging について - Hateburo: kazeburo hatenablog

                                    この記事はMackerelアドベントカレンダー9日目の記事です。 今年新たに作ったmackerel pluginの数がとても少なかったのでショックを受けているMackerelアンバサダーのkazeburoです。 この記事ではそのうちの一つを紹介します。 mackerel-agent-pinging github.com 公式のpluginとして、check-pingがありますが、こちらはmetricsを取得するためのpluginとなります。 ariarijp さんによる mackerel-plugin-ping もありますが、こちらとは取得しているメトリクスが異なります。 github.com 使い方 $ sudo /usr/local/bin/mackerel-plugin-pinging --count 10 --key-prefix=example --host x.x.x.x pi

                                      mackerel-plugin-pinging について - Hateburo: kazeburo hatenablog
                                    • コマンドを実行しその終了ステータスコードメトリクス化するMackerelカスタムプラグイン - Hateburo: kazeburo hatenablog

                                      Mackerel Advent Calendar 2020 15日目の参加記事です。 キャッシュの更新やなんらかの同期を行うコマンドなどをcronにて実行している場合、メンテナンスや一時的なネットワークの不調によりコマンドがエラーになっても問題ないが、一定時間以上エラーが続くと困る、みたいなことはあると思われます。 mackerelでは、cronのコマンドがエラーになった際に、通知する方法としては mkr wrap が利用できます。 mackerel.io crontabに * * * * * mkr wrap -- /path/to/your-batch ... とすることで、コマンドが失敗した際に、アラートをあげることができます。ただmkr wrapでは1度でもエラーとなるとアラートとなってしまうため、前述したような一定時間エラーになっても問題ないものでもアラートが上がってしまいます。

                                        コマンドを実行しその終了ステータスコードメトリクス化するMackerelカスタムプラグイン - Hateburo: kazeburo hatenablog
                                      • sacloud/autoscaler でさくらのクラウドの水平スケールを試す - Hateburo: kazeburo hatenablog

                                        さくらのクラウドでオートスケールを実現する sacloud/autoscaler が v0.1.0 で水平スケールに対応したので試してみます。 github.com yamamoto_febc さんのさくらのイベントでの発表資料はこちら speakerdeck.com sacloud/autoscalerの構成を知るためにはこの資料を最初に目を通すのをお勧めします。 またv0.1.0 以前からサポートしている垂直スケールにつてはこちらの記事もわかりやすいです! qiita.com qiita.com とりあえず、今回の水平スケールは、サーバの増減とエンハンスドLBにサーバを参加させるところまでを試しました。 準備 サーバを2台とエンハンスドLBを作っておきます。 まず、autoscalerを動かすサーバを作成します。 名前: autoscale1 プラン: 1Core-1GB #最小 NI

                                          sacloud/autoscaler でさくらのクラウドの水平スケールを試す - Hateburo: kazeburo hatenablog
                                        • ISUCON10 感想戦で 100,000 超えスコアを出した - Hateburo: kazeburo hatenablog

                                          感想戦優勝なんてものはない 感想戦優勝 #isucon— 紅葉坂乗り過ごして桜木町 (@kazeburo) 2020年10月12日 ISUCON10本選は悔しいところではありましたが、Fail(失格)で終わってしまいましたが、1週間もの長い間サーバとベンチマーカーが使えるようにして頂いていたので、感想戦にチャレンジし、24x7 ベンチマークを回し、最終的には100,000超え(本選時の弊チームベスト 32,312、優勝者スコア 49,545)のスコアを出すことに成功しましたので、その方法です。 レポジトリはこちらにあります。 github.com この記事を読み進める前に当日のマニュアルを確認するとよいでしょう github.com 最終スコア 101,249 がベストで最後のスコアです。 この際のTeamCapacityは100です 15:07:32.437656 ===> PREPAR

                                            ISUCON10 感想戦で 100,000 超えスコアを出した - Hateburo: kazeburo hatenablog
                                          • resolv.conf におけるDNS名前解決のタイムアウト - Hateburo: kazeburo hatenablog

                                            resolv.confに記述したDNSサーバへの名前解決のタイムアウトとリトライ回数について改めて確認したので忘備録 CentOS7系およびRocky Linux 9系で確認しています。 /etc/resolv.conf でDNSサーバが次のように指定されている場合、 nameserver 198.51.100.3 nameserver 198.51.100.4 以下の順で利用されます。 198.51.100.3 が タイムアウト 5秒 198.51.100.4 が 5秒 ✖️ 2 ➗ サーバ台数 (小数点切り捨て)のタイムアウト=5 秒 これを2回繰り返し、両方接続不可能な場合、合計20秒間名前解決しようとします。 3台ある場合、 nameserver 198.51.100.3 nameserver 198.51.100.4 nameserver 198.51.100.5 198.51.

                                              resolv.conf におけるDNS名前解決のタイムアウト - Hateburo: kazeburo hatenablog
                                            • HAProxy+libslzによるHTTPレスポンスのGZIP圧縮の検証 - Hateburo: kazeburo hatenablog

                                              少し前になりますが、4/8 にさくらのクラウドの高機能ロードバランサーサービスである エンハンスドロードバランサ にレスポンスボディのGZIP圧縮機能を追加しました。 cloud-news.sakura.ad.jp エンハンスドロードバランサのコントールパネルやAPIで、GZIP圧縮を有効にすることで、手軽にWebサイトの表示にかかる時間を短くすることができますので、お試しいただければと思います。 この記事にあるとおり、エンハンスドロードバランサはソフトウェアとしてHAProxyを使っています。 qiita.com 今回、レスポンスのGZIP圧縮対応にあたり、HAProxyにlibslzという圧縮ライブラリを組み込んでおります。GZIP圧縮といえばzlibがもっとも使われると思いますが、事前に比較検証を行った上でlibslzを選択しているので、その紹介です。 ライブラリとベンチマークの環境

                                                HAProxy+libslzによるHTTPレスポンスのGZIP圧縮の検証 - Hateburo: kazeburo hatenablog
                                              • 「さくらのクラウドシェル」でWebサーバを起動する(ngrok編) - Hateburo: kazeburo hatenablog

                                                さくらインターネットから新しいサービス、「さくらのクラウドシェル」がリリースされました。 ブラウザからワンクリックで利用できるオンラインのシェル環境が起動できます。無料で使えます!! こちら無料で試すボタンを押すと、次のモーダルが現れます。 ここで「会員IDで利用する」を選んだ場合、アウトバウンド向けの各ポート(22/53/80/443/1024-65535)の通信が利用できます。会員IDでログインしない場合は通信ができない環境が起動します。 ボタンを押すとすぐにシェルが立ち上がります。 フォントや文字色、背景画像が選べたりします。 シェルとしてはZSHが起動し、Go、Python、Ruby、Node.js などの開発言語のほかに、Vim、Emacs、tmux、Git、Ansible、Terraform、さくらのクラウドをコマンドラインから操作できる usacloud があらかじめ導入され

                                                  「さくらのクラウドシェル」でWebサーバを起動する(ngrok編) - Hateburo: kazeburo hatenablog
                                                • Nginxのupstreamコンテキストでの名前解決に nginx-dynamic-upstream-resolve-servers を使う - Hateburo: kazeburo hatenablog

                                                  Nginxでproxyする際に、名前解決を動的に行ってからupstreamへ接続をするというのは、S3だったりConsulで管理されたサーバ群に対するproxyを行いたい場合に使いたくなる機能のひとつ。 ただ、upstreamコンテキスト内の resolve オプションは有償の Nginx Plusにしかない機能なので、set変数を使ってやるというのがこれまでの方式 resolver 127.0.0.1 valid=30s ipv6=off; server { set $backend_host "backend-apps.service.dc.consul:8080"; location / { proxy_pass http://$backend_host; } } この方式は問題なく動くのですが、 upstream keepaliveが有効にならない 名前解決した結果に複数のIPがあ

                                                    Nginxのupstreamコンテキストでの名前解決に nginx-dynamic-upstream-resolve-servers を使う - Hateburo: kazeburo hatenablog
                                                  • HAProxyにコントリビュートした話 - Hateburo: kazeburo hatenablog

                                                    さくらインターネット Advent Calendar 2021 10日目の記事です。 日頃、運用や新機能の開発を行っているさくらのクラウドの「エンハンスドロードバランサ」はL7のロードバランサのソフトウェアとしてHAProxyを使っています。 こちらの記事でシステム構成について紹介しております。 qiita.com また、本blogにてlibslzによるHTTPレスポンスのGZIP圧縮の紹介もしています。 kazeburo.hatenablog.com この記事はHAProxyの運用で問題を発見し解決した話と、HAProxyにissue報告した話になります。 発見から問題特定まで とある作業後、エンハンスドロードバランサのL7ロードバランサであるHAProxyのうちの一つのプロセスが異常にCPUを使っているのを発見しました。 このHAProxyのプロセスはCPU 1コアを使い切っている状態

                                                      HAProxyにコントリビュートした話 - Hateburo: kazeburo hatenablog
                                                    • GitHub ActionsとGoReleaserでmkr plugin install対応mackerel pluginをリリースする - Hateburo: kazeburo hatenablog

                                                      Mackerel Advent Calendar 2020 9日目の参加記事です。隙間で書きました。 最近 mackerel pluginをリリースするときは、ほぼ全てGitHub ActionsとGoReleaserを使ってビルドとリリースしています。 GoReleaserはこちら goreleaser.com GoReleaserはGoのprojectをクロスプラットフォームでビルドし、GitHub Releaseなどにアップロードしてくれるツールです。これのおかげでかなりリリース作業が楽になりました。 準備 mackerel pluginのrepositoryに .goreleaser.yml というファイルを作ります。 builds: - binary: mackerel-plugin-linux-process-status goos: - linux goarch: - amd

                                                        GitHub ActionsとGoReleaserでmkr plugin install対応mackerel pluginをリリースする - Hateburo: kazeburo hatenablog
                                                      • ISUCON10予選問題で EC2 c6g.2xlarge vs c5.2xlarge をやってみる - Hateburo: kazeburo hatenablog

                                                        少し前にISUCON10予選問題のスコアアップに取り組んでいたので、その成果を使い、EC2 Graviton2 インスタンスとIntel CPUのインスタンスでスコアを比較してみます。 ISUCON10予選問題チャレンジをしていた時のスレはこちら ISUCON10予選のベンチマーク、Macbook Pro上で、23000まででるようになった。Xeon Gold 6148 x2上だと37000。— kazeburo. (@kazeburo) 2020年10月28日 ここではISUCON10予選時のように複数台用意するのではなく、1台のサーバでGoのアプリケーションとMySQLを動作させ、同じサーバ上からベンチマークを実行しています。 準備 初期データを作る際のdockerコンテナでarm64対応していないものがあるため、Intel CPUのインスタンスで作成してscpする方法を取りました。

                                                          ISUCON10予選問題で EC2 c6g.2xlarge vs c5.2xlarge をやってみる - Hateburo: kazeburo hatenablog
                                                        • PerlなプロジェクトをGithub Actionsでコンテナ化 (ARM64対応) - Hateburo: kazeburo hatenablog

                                                          この記事は Perl Advent Calendar 2021 の6日目の記事です。 業務では日頃はGo、Perl、PHPを使ってクラウドのバックエンドを作り、JavaScript/TypeScriptでフロントエンドを作っています この記事は昔からherokuで動かしていたサービスをコンテナ化してGraviton2なEC2インスタンス上でk3sでシングルサーバクラスタを作成して動かしているよという紹介です。 対象は以下の2つ tanzak.nomadscafe.jp corelist.nomadscafe.jp それぞれのGitHubのrepositoryはこちら GitHub - kazeburo/tanzak: たんざく GitHub - kazeburo/CoreListWeb: Module::CoreList Web このサービスで使うDockerコンテナはGitHub Act

                                                            PerlなプロジェクトをGithub Actionsでコンテナ化 (ARM64対応) - Hateburo: kazeburo hatenablog
                                                          • GoでMySQLの監視コマンドを作成するのが楽になるライブラリ - Hateburo: kazeburo hatenablog

                                                            本エントリはMySQL Advent Calendar 2020 の9日目の記事になります。 これまでいくつものMySQLの監視コマンドをつくってきたのですが、毎回同じような処理を書いているので、それらをまとめるライブラリを作ってみました github.com 主な機能は go-flags形式でのコマンドオプションとデータベースへの接続 SHOW STATUS/VARIABLES/SLAVE(REPLICA) STATUSステートメントの構造体へのマッピング の2つです。 使い方 (コマンドラインオプション) まずコマンドオプションの処理 オプションを定義した構造体に mysqlflags.MyOpts を追加します type opts struct { mysqlflags.MyOpts Timeout time.Duration `long:"timeout" default:"10s

                                                              GoでMySQLの監視コマンドを作成するのが楽になるライブラリ - Hateburo: kazeburo hatenablog
                                                            • さくらのクラウド GSLB で IPv6 対応した話 - Hateburo: kazeburo hatenablog

                                                              5/13 にさくらのクラウドのGSLBサービスにて、実サーバとしてIPv6のアドレスを登録できるようなリリースを行いました。 cloud-news.sakura.ad.jp この機能拡張により、これまでのIPv4に加え、IPv6でもシステムの可用性を向上させることができるようになりました。 GSLBを簡単にいってしまうと「高可用・分散環境に置かれたヘルスチェック付きのDNSサーバ」です。 今回、ヘルスチェックの部分においてIPv6の実サーバへのリーチャビリティを確保し、実サーバとしてIPv6のサーバを登録した際に、AAAAレコードを返すことができるようになりました。今のところIPv6でのDNSの問い合わせは対応しておらず、IPv4での問い合わせのみになります。 GSLBにて重み付け応答「無効」を設定し、実サーバとして、IPv4のアドレス「203.0.113.4」「203.0.113.5」、

                                                                さくらのクラウド GSLB で IPv6 対応した話 - Hateburo: kazeburo hatenablog
                                                              • dnsdist のパフォーマンスを引き出すネットワーク設定 - Hateburo: kazeburo hatenablog

                                                                YAPC::Kyoto 2023、JANOG51 MeetingではDNSへの水責めの攻撃とその対策について話をさせていただきました。その中で DNS攻撃をフィルタリングするために利用している dnsdist についてチューニングにより大きくパフォーマンス向上できることがわかってきたので紹介します。 YAPCの記事 kazeburo.hatenablog.com JANOG51 Meetingについての記事 knowledge.sakura.ad.jp Linuxのネットワークパラメータのチューニング Linuxのチューニングでよくある設定ですが、sysctl.conf で以下のカーネルパラメータをチューニングをします。 net.core.somaxconn = 65535 net.core.netdev_max_backlog = 16384 net.core.rmem_max = 13

                                                                  dnsdist のパフォーマンスを引き出すネットワーク設定 - Hateburo: kazeburo hatenablog
                                                                • mkr plugin install 時の403 API rate limit exceededエラーを回避する方法 - Hateburo: kazeburo hatenablog

                                                                  この記事はMackerel Advent Calendar 2021の14日目の記事です。 最近、さくらのクラウドの一部のサービスの監視にmackerelを導入し始めました! そして今年もいくつかのmackerel pluginを作成しています。 ログをメトリクスにするプラグイン github.com インターフェイスごとのエラーや送受信したパケットを可視化するプラグイン github.com 100%上限のCPU使用率グラフ、ロードアベレージをコア数で割ったメトリックを作成するプラグイン github.com そのほか、mackerel-plugin-axslogにも新しい機能が増えています。 この記事は既存のサーバにこれらのmackerel pluginをansibleで導入していった際に出たエラーと回避策のお話です。 mkr plugin install時のrate limitエラー

                                                                    mkr plugin install 時の403 API rate limit exceededエラーを回避する方法 - Hateburo: kazeburo hatenablog
                                                                  1

                                                                  新着記事