タグ

ブックマーク / sfujiwara.hatenablog.com (11)

  • cron で > /dev/null して椅子を投げられないための3つの方法 - 酒日記 はてな支店

    (タイトルは釣りです) いい加減、>/dev/null 2>&1と書くのをやめたらどうか - DQNEO起業日記 この記事のタイトルが twitter で流れてきたのを見て、「そうだ!出力を /dev/null に捨てるなんてとんでもないよね!」と思ってよく読んだら /dev/null に間違いなく捨てる方法だったのでつい crontabに > /dev/null 書いたら椅子投げる 2012-06-13 00:01:17 via YoruFukurou とつぶやいてしまったのですが、では出力を捨てないためにはどうすればいいのか。現時点での個人的ベストプラクティスを書き留めておきます。 デフォルト : メールで送る (MAILTO) せっかく cron daemon がログを捨てないためにわざわざメールで送ってくれるのに、それを > /dev/null で踏みにじるとはひどい。 とはいえ、

    YAA
    YAA 2015/10/08
  • ISUCON5予選を全体1位で通過しました - 酒日記 はてな支店

    ISUCON5 の予選1日目にチーム「fujiwara組」(@fujiwara, @songmu, @sugyan) として参加して、全体通して1位のスコアで通過しました。 isucon.net 今回は ISUCON 1 の時の優勝チームを再結成という形になったわけですが、最初はISUCON 4の時と同じ社内のチームででようかと思ってたんですよね。ところが昨年優勝チームだった「LINE選抜 生ハム原木」が今回参戦できないということで、sugyanがチームどうしよう、と困っていたのでつい…*1 初代fujiwara組を再結成しよう— fujiwara (@fujiwara) 2015, 5月 27 準備 今回はOSは Ubuntu(バージョン非公開)なのが事前にレギュレーションで公開されていたので(前年まではCentOS, Amazon LinuxなどのRedHat系ディストリビューションで

    ISUCON5予選を全体1位で通過しました - 酒日記 はてな支店
    YAA
    YAA 2015/09/28
  • ISUCON3 を開催しました - 酒日記 はてな支店

    参加者の皆様、共催で運営となった LINE, DataHotel, カヤック各社の皆様、当にありがとうございました。いくつかトラブルがあったものの、選もなんとか無事に終えることができました。 まずは優勝した LINE 選抜チームの皆様、おめでとうございます!なかなか初期スコアから上がってこないので内心ものすごく心配していましたが、ポイントを見極めて作業が終わったところで一気にスコアを上げてきたのは感服しました。 選終了から48時間経過したいまでも頭の疲労が回復しきっていない感じで、整理できていないので思うままにつらつら書きます。 以下長文になってしまうので最初に告知です。 ISUCON3反省会 というイベントを 11/15(金) に行います。ISUCON参加者でなくてもどなたでも無料でプレミアムモルツ飲み放題ですので、日時が迫っていますが是非お越しください。 出題内容について お題は

    ISUCON3 を開催しました - 酒日記 はてな支店
    YAA
    YAA 2013/11/14
  • #isucon ではどんなことを考えながら作業していたか - 酒日記 はてな支店

    前のエントリ #isucon で優勝してきました は当日夜に酔っ払った頭で勢いで書き上げたので、少し冷静に振り返ってまとめてみます。 最初のボトルネック発見 DBCPU 4コアをフルに使って回っているのですぐに Query が重いのは分かった 重いクエリはキャッシュすれば、という発想は自然 (実際 MySQL のクエリキャッシュだけでスコアは 1.5倍程度上がる)、とはいえ このクエリは実行に 300〜400 ms 程度かかる アプリケーションの要件上、毎秒更新する必要がある 1秒ごとに更新に 0.3〜0.4秒かかる処理をするのは悪手だろう cache が消えてから生成、とすると生成処理が複数同時に走って無駄が大きい (実際ベンチマーク中の slow query を見ると 600〜700 ms 程度の時間が掛かっていた) ということで、DB のテーブル構成を変更して高速化できないか、

    #isucon ではどんなことを考えながら作業していたか - 酒日記 はてな支店
  • ついにやらかした rm -rf / - 酒日記 はてな支店

    UNIX の root なら誰もが必ず一度はやるという、rm -rf / をついにやった。root歴10年にして…… 社内の開発サーバだったのが不幸中の幸いではあったが。 vsftpd でホームディレクトリがない時の挙動を確認したくて、テスト用のユーザ fujiwara2 の home を mv しようと、 # mv /home/fujiwara2 /ここまで打ち込んで、やっぱ mv じゃなくて rm でいいや、と思い直して # rm -rf /home/fujiwara2 /最後の / を付けたままで実行してしまった…… なんか返ってこないな? と思って気が付いて、慌ててキャンセルはしたのだが、時既に遅し。 /dev /etc あたりがごっそり消えた。なんでか /bin /boot は残ってた。 これまた幸いというか、このホストは VMware のバーチャルマシンだったので、2007年7

    ついにやらかした rm -rf / - 酒日記 はてな支店
    YAA
    YAA 2011/04/12
  • Squid で帯域制限 - 酒日記 はてな支店

    遅い回線のエミュレーションをしたかったので、Squid で帯域制限をやってみた。 以前にも同じようなことを FreeBSD で bridge + dummynet でやったのだが、今回はお手軽に Squid のみで。 dummynet だと IP レベルで制限をかけるので遅延もエミュレーションできる (遅い回線で遅延を大きくするとか) が、Squid はダウンロード帯域のみの制限になるので、厳密さはちょっと落ちるはず。 squid.conf に以下のように記述。64, 128, 256, 512, 1024kbps の制限を port 別にかけて、クライアントから Proxy にその port を指定してやる。 http_port 10064 http_port 10128 http_port 10256 http_port 10512 http_port 11024 acl 64kbps

    Squid で帯域制限 - 酒日記 はてな支店
  • PostgreSQL でランダムに 1行選択する方法 - 酒日記 はてな支店

    対象は feed の entry を文込みで保存した 100万行ほどのテーブル。PostgreSQL 8.3.7 on x86_64-pc-linux-gnu. まずは単純な方法。 SELECT * FROM entry ORDER BY random() LIMIT 1; 直感的 シンプル しかしシーケンシャルスキャンが起きる $ EXPLAIN ANALYZE SELECT * FROM entry ORDER BY random() LIMIT 1; QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------- Limit (cost=174494.29..1744

    PostgreSQL でランダムに 1行選択する方法 - 酒日記 はてな支店
  • インフラ勉強会 qpstudy#2 で法定停電を乗り切るLTしてきた - 酒日記 はてな支店

    キユーピー3分インフラクッキング 第2回で、法定停電を乗り切る方法について LT をやりました。内容は要するに、発電機でサーバを動かしたよ!という話です。枠がビアバッシュのほうだったので、わりとこんなネタでもいいかなと… スライドはここにあげました ustream で動画も見られます。ありがとうございます。(喋ってる間、ゆらゆらしすぎでキモいですね自分。お酒入ってたので……) 以下補足です。 発電機はインバータ制御で、出力波形が正弦波になるやつを借りるべし (twitterでご指摘いただきました) 発表時のスライドは発電機を YAMAHA と言いつつ、画像はなぜか HONDA のやつだったので、入れ替えました ということで、主催者のたておか(@iara)さんをはじめ参加者の皆様、楽しい勉強会をありがとうございました!

    インフラ勉強会 qpstudy#2 で法定停電を乗り切るLTしてきた - 酒日記 はてな支店
    YAA
    YAA 2010/07/26
  • キユーピー3分インフラクッキング #qpstudy で Plack などについて話してきました - 酒日記 はてな支店

    キユーピー3分インフラクッキング -初心者にも優しいインフラ勉強会-の記念すべき第1回で、「Perl & Web Servers」というお題で発表させていただきました。 「初心者に優しい」というテーマだったので、199x 〜 200x 年の Perl と Web Server の関係について歴史をざっくりと触れつつ、2010年代は PSGI + Plack だよね!という感じでまとめてみました。 スライドはこちら です。カーソルキーの左右でページがめくれます。 なにか間違い、ご意見、ご質問などがあればお寄せください。 日は皆様お疲れさま&ありがとうございました。いい勉強会にしていけるといいですね!

    キユーピー3分インフラクッキング #qpstudy で Plack などについて話してきました - 酒日記 はてな支店
    YAA
    YAA 2010/05/24
  • nginx の組み込み Perl で独自の認証をかける - 酒日記 はてな支店

    独自の認証機能付き HTTP ダウンローダを提供するために、nginx の組み込み Perl を使ってみました。 公式のドキュメントはこちら。EmbeddedPerlModule - Nginx Community 自前の handler でリクエストをみて処理を行い、許可するなら DECLINED を返して後続の処理に任せる。そうでなければ Fobidden を返しておしまい、という流れです。 package MyAuth; use strict; use warnings; use nginx; sub handler { my $r = shift; if ( $r->header_in("MyAuth") ) { # なにか独自の認証をする(ここではリクエストヘッダを見るだけ return DECLINED; # 処理を継続させるために DECLINED } $r->status(

    nginx の組み込み Perl で独自の認証をかける - 酒日記 はてな支店
    YAA
    YAA 2010/02/05
  • rsync 3.0 - 酒日記 はてな支店

    rsync 3.0 がリリースされたそうです。 差分更新の時に、転送元と転送先を同時に走査し、すぐに差分の転送を始める。 rsync 3.0: uyota 匠の一手 という、素晴らしい機能強化が。 今までは rsync は一旦全ての転送元ファイルをチェックしていたので、巨大なディレクトリを rsync しようとするとかなり長時間待たされる。だけならまだしもメモリもがんがん喰う、という問題があった。会社のファイルサーバを丸ごと転送しようとしたら、rsync が out of memory で死んだことも……(仕方ないのでサブディレクトリ単位で実行したり) 実際に 3.0.0 をインストールして試してみたところ、ファイルが大量にあるディレクトリでもすぐに転送が始まって、メモリ使用量も全然増加せず。これは素晴らしい。 が、いきなり運用中のサーバで使うのは怖い (ただの印象) 気がするので、いく

    rsync 3.0 - 酒日記 はてな支店
    YAA
    YAA 2008/03/08
  • 1