サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ニコニコ動画
kazeburo.hatenablog.com
この記事はさくらインターネット Advent Calendar 2023の12月3日の記事になります。 先日行われました ISUCON13 の作問を担当しました。参加者の皆様、スタッフの皆様ありがとうございました。 このエントリではISUCON13のDNSに関わる要素とベンチマーカーから行われたDNS水責めについて紹介します。 ISUCON13の問題の講評と解説は以下のエントリーでも行っていますので読んでいただけると嬉しいです isucon.net こんいす〜 ISUCON13における名前解決 上記のエントリーにもある通り、今回のISUCONではDNSが問題の一部として出てきます。 これまでポータルから参加者は割り振られたサーバの中から負荷をかけるサーバ1台選択し、ポータルはそのサーバに対して負荷走行を行うことが多くありましたが、今回はサーバ1台を選択したら、ベンチマーカーはそのサーバの
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.
さくらインターネットから新しいサービス、「さくらのクラウドシェル」がリリースされました。 ブラウザからワンクリックで利用できるオンラインのシェル環境が起動できます。無料で使えます!! こちら無料で試すボタンを押すと、次のモーダルが現れます。 ここで「会員IDで利用する」を選んだ場合、アウトバウンド向けの各ポート(22/53/80/443/1024-65535)の通信が利用できます。会員IDでログインしない場合は通信ができない環境が起動します。 ボタンを押すとすぐにシェルが立ち上がります。 フォントや文字色、背景画像が選べたりします。 シェルとしてはZSHが起動し、Go、Python、Ruby、Node.js などの開発言語のほかに、Vim、Emacs、tmux、Git、Ansible、Terraform、さくらのクラウドをコマンドラインから操作できる usacloud があらかじめ導入され
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
YAPC::Kyoto 2023 に参加してきました! 数年ぶりに開かれたYAPCで、数年ぶりに会うエンジニアの同窓会みたいな雰囲気ありつつ、新しい参加者も多く最高でした。オフラインイベント楽しいです。スタッフの皆様ありがとうございました!! 京都まで行かせてくれた家族にも感謝 会場のKRPは2006年まで働いていた場所で、17年も経ってそこで発表する機会をいただいたのは個人的に感慨深いものがあります。はてなの大西さんの発表は自分にとってもとても懐かしく聞いておりました。 エモさしかない pic.twitter.com/6V8gpxx4bg— 達人が教えるつぶあん🇺🇦 (@kazeburo) 2023年3月19日 発表してきた 私の発表はこちら speakerdeck.com DNS水責め攻撃とその対策については1月に開催されたJANOG51 Meeting in 富士吉田でも紹介して
さくらのアドベントカレンダー2022 13日目の記事です。 qiita.com サーバ運用を行なっていると、非同期で行われるサーバの設定反映や起動を待ったり、メンテナンス後に監視を再開する前にすこし待つなんてこともあるかと思います。 そんな時に、人力で3分待ったらコマンドを打つ、Webコンソールを操作するなんてやっていると人間「必ず」忘れます。監視のメンテナンスモードの解除などを忘れてしまうとそれこそ事故につながります。チェックリストを利用した対策もありますが、技術的に解決するのが望ましい姿です。 そこで、よくやってきたのがsleepコマンドと組み合わせて sleep 180 && mkr update --st working とする方法。(サンプルとしてMackerelでサーバのステータスを変更しています) このように実行しておけば、自動で3分後にmkrコマンドが実行され、サーバの監視
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互換ストレージでも利用できるかと思います。
この記事は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エラー
さくらインターネット Advent Calendar 2021 10日目の記事です。 日頃、運用や新機能の開発を行っているさくらのクラウドの「エンハンスドロードバランサ」はL7のロードバランサのソフトウェアとしてHAProxyを使っています。 こちらの記事でシステム構成について紹介しております。 qiita.com また、本blogにてlibslzによるHTTPレスポンスのGZIP圧縮の紹介もしています。 kazeburo.hatenablog.com この記事はHAProxyの運用で問題を発見し解決した話と、HAProxyにissue報告した話になります。 発見から問題特定まで とある作業後、エンハンスドロードバランサのL7ロードバランサであるHAProxyのうちの一つのプロセスが異常にCPUを使っているのを発見しました。 このHAProxyのプロセスはCPU 1コアを使い切っている状態
この記事は 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
昨日オープンベータが開始されたさくらインターネットの新しいPaaS、DockerイメージやGitHubとの連携することで、インフラにとらわれることなく、アプリケーションのデプロイができるようになっています。データベースや永続ボリュームがすでにサポートされ、今後、WebサービスやSaaSの基盤として、またチームでの開発に適した機能が拡充されていく予定です。 www.sakura.ad.jp さっそく試していただき、記事を書いていただいています。ありがとうございます。 qiita.com qiita.com この記事ではサンプルのアプリケーションとして、MySQLアドオンを使い phpMyAdminとWordPress を立ち上げてみます。 プロジェクトの作成 さくらのクラウドのホームからHacobuneのコンソールへ移動し、新しいプロジェクトを作ります。 ここでは名前は hacopress
さくらのクラウドでオートスケールを実現する 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
少し前になりますが、4/8 にさくらのクラウドの高機能ロードバランサーサービスである エンハンスドロードバランサ にレスポンスボディのGZIP圧縮機能を追加しました。 cloud-news.sakura.ad.jp エンハンスドロードバランサのコントールパネルやAPIで、GZIP圧縮を有効にすることで、手軽にWebサイトの表示にかかる時間を短くすることができますので、お試しいただければと思います。 この記事にあるとおり、エンハンスドロードバランサはソフトウェアとしてHAProxyを使っています。 qiita.com 今回、レスポンスのGZIP圧縮対応にあたり、HAProxyにlibslzという圧縮ライブラリを組み込んでおります。GZIP圧縮といえばzlibがもっとも使われると思いますが、事前に比較検証を行った上でlibslzを選択しているので、その紹介です。 ライブラリとベンチマークの環境
あっという間に1週間経ってしまいましたが、2021年1月18日より、さくらインターネットにてお仕事をしております。 先月から長めの冬休みにさせていただいておりましたが、本日さくらインターネットに入社させて頂きました。公私ともに長くお世話になっているこの会社でいろんなサービス支えていきます。 1日目からリモートなので写真はイメージです pic.twitter.com/LqyOAoA5dA— スタンドの時間です�! (@kazeburo) 2021年1月18日 前職中は本当にたくさんの皆様にお世話になりました。ありがとうございます。挨拶もほとんど出ておらず申し訳ありません。 さくらインターネットは20年ほどユーザとして使っており、またmixiやメルカリでもサーバを利用しており、公私共に馴染みのある会社です。 2018年の北海道胆振東部地震の際には対応はもちろん、情報がまとまってない中で直接お話
少し前に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する方法を取りました。
Mackerel Advent Calendar 2020 15日目の参加記事です。 キャッシュの更新やなんらかの同期を行うコマンドなどをcronにて実行している場合、メンテナンスや一時的なネットワークの不調によりコマンドがエラーになっても問題ないが、一定時間以上エラーが続くと困る、みたいなことはあると思われます。 mackerelでは、cronのコマンドがエラーになった際に、通知する方法としては mkr wrap が利用できます。 mackerel.io crontabに * * * * * mkr wrap -- /path/to/your-batch ... とすることで、コマンドが失敗した際に、アラートをあげることができます。ただmkr wrapでは1度でもエラーとなるとアラートとなってしまうため、前述したような一定時間エラーになっても問題ないものでもアラートが上がってしまいます。
本エントリは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
とある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 という感
感想戦優勝なんてものはない 感想戦優勝 #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
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があ
振り返り的なやつです。 去年の振り返りはこちらです。 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 -
次のページ
このページを最初にブックマークしてみませんか?
『Hateburo: kazeburo hatenablog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く