タグ

ブックマーク / hirose31.hatenablog.jp (11)

  • VirtualBoxのスナップショットを簡単に管理できるツールを書きました。GO言語で。 - (ひ)メモ

    VagrantではSahara pluginを使うことで、VMの状態を以前の状態に巻き戻すことができます(sandobx mode)。 VMの中でいろいろいじっている際に変更前の状態に戻せるのはとても便利なのですが、Saharaでは戻せるチェックポイントをひとつしか作れません。 自分の場合、深遠なChefのレシピを書いている過程で、戻せるポイントを何個か置きたくなることがよくあります。 さて、VagrantのバックエンドとしてVirtualBoxを使っている人は多いかと思います。 バックエンドがVritualBoxの場合、SaharaのsandboxはVirtualBoxのsnapshotを使って実現されています。 VirtualBoxのsnapshotはひとつだけでなくいくつでも作ることができます。 CUIでVirtualBoxの操作(snapshotを作ったり)をするには、vboxma

    VirtualBoxのスナップショットを簡単に管理できるツールを書きました。GO言語で。 - (ひ)メモ
  • galloc - Gachapin alloc というのを作りました - (ひ)メモ

    Overriding System Functions for Fun and Profit | Hacker Boss をみて自分も試してみたくなったので書きました。 https://github.com/hirose31/galloc malloc(3)するとガチャピンが、free(3)するとムックがSTDERRに報告してくれます。便利!!1 $ make galloc.so $ LD_PRELOAD=./galloc.so ls # or arbitrary command Gachapin .oO(malloc(568) = 0x172e040) Gachapin .oO(malloc(120) = 0x172e280) Mukku .oO(free = 0x172e040) Gachapin .oO(malloc(6) = 0x172e040) Mukku .oO(free =

    galloc - Gachapin alloc というのを作りました - (ひ)メモ
    Watson
    Watson 2013/11/06
  • branchを切った時点のコミットとbranchの最新コミットとのlogとdiffをみたい - (ひ)メモ

    Pro Gitから図を引用すると、こういう 場合に、分岐した時点のmasterとexperimentの先っちょのlogやdiffをみたいというお話です。実際的には、topic branchをmasterにマージする前に変更点を確認したいといった局面です。 log logの場合は「..」です。 $ git log --pretty=oneline master..experiment ec8428d4d1884d3413e0949603c0c5cdd8aef414 D 863f5738a395fe090afaeaa120b67c45d65131c4 Clogにおける「..」についてPro Gitから引用すると、以下のように書かれています。 これは "experiment からはたどれるけれど、master からはたどれないすべてのコミット" という意味です。 Git - リビジョンの選択 一

    branchを切った時点のコミットとbranchの最新コミットとのlogとdiffをみたい - (ひ)メモ
    Watson
    Watson 2013/02/17
  • dstatの万能感がハンパない - (ひ)メモ

    サーバーのリソースを見るにはグラフ化は重要ですが、推移ではなくリアルタイムな状況、例えば秒単位のスパイキーな負荷を見るには、サーバー上でvmstatやiostatなどの*statファミリーを叩く必要があります。 さて、vmstatはメモリの状況やブロック数単位のI/O状況は見られますが、バイト単位のI/O状況やネットワークの送信、受信バイト数を見ることはできません。 # vmstat 1 procs -----------memory---------- ---swap--- -----io----- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 3 1 0 4724956 355452 726532 0 0 54 484 3 3 1 0 99 0 0 2 0 0 47

    dstatの万能感がハンパない - (ひ)メモ
  • LinuxのLVS(IPVS)でMySQLをロードバランスするときはtimeoutに注意 - (ひ)メモ

    構成 [appサーバ] -> [lvs] -> [MySQL]群 DRでMySQLのスレーブ群にロードバランス appサーバはDBコネクションのプーリング、永続化をしている 問題の現象 DBサーバ上ではmysqldへのコネクションが存在するのに、appサーバ上ではコネクションが存在しない。(netstat調べ) →無用なコネクションが残留するせいで、MySQLのmax_connectionsに達してしまう。 原因 MySQLの世界の無通信時のコネクションのタイムアウトはデフォルトで 28800秒 (8時間)。一方、IPVSの世界の無通信時のタイムアウトはESTABLISHEDなコネクションで900秒 (15分)。 # ipvsadm -Ln --timeout Timeout (tcp tcpfin udp): 900 120 300なので、DBコネクションの永続化等でコネクションを張りっ

    LinuxのLVS(IPVS)でMySQLをロードバランスするときはtimeoutに注意 - (ひ)メモ
  • popwin.elがすこぶる快適 - (ひ)メモ

    https://github.com/m2ym/popwin-el ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました。popwin.elはEmacsにポップアップウィンドウという概念を導入することにより、バッファを表示する(display-buffer)際のEmacsのトチ狂った仕様を矯正します。この「トチ狂った仕様」とは例えば、 M-x describe-functionしたらウィンドウが勝手に分割された あるいはウィンドウのバッファを勝手に切り替えられた ヘルプバッファ(*Help*)とか補完バッファ(*Completions*)がどのウィンドウに出現するか予測できない しかも作業後にそれらのバッファが表示されたままになったりする のようなものを指します。Emacsを触ったことがある人なら上記のいずれかは不満に思ったことがあるはずです。ちな

    popwin.elがすこぶる快適 - (ひ)メモ
    Watson
    Watson 2011/03/02
  • これはもう手放せない!社内ツールベスト4 - (ひ)メモ

    どれもオープンなサービスではあるんですが、社内限定でも使いたいなーというものたちです。 IRC プロトコルと実装がオープンなので、周辺のライブラリやツールが充実してるのがいいですね。 ぼくは、家のサーバに IRC proxy (bouncer) のTiarraを常駐させて、PCがあるときはLimeChatで、ないときはiPhoneのSafariでmobircを使っていつでも見られるようにしています。 コミュニケーションはもとより、いろんなボットを常駐させて通知プラットフォーム的にも使っています。これがまた便利なんです。 deployスクリプトから状況をポスト Continuous Integrationの自動テストの結果をポスト 「#NNN」に反応して、当該チケットのタイトルとURLをポスト 「これから#765やる」、「XXXの修正のチケットってどれだっけ?」「#973だにょ」とか コミッ

    これはもう手放せない!社内ツールベスト4 - (ひ)メモ
    Watson
    Watson 2011/01/14
  • MySQLで、指定したときだけクエリキャッシュする - (ひ)メモ

    今までMySQLのクエリキャッシュはは有効にしてたんですが、Webサービスだとキャッシュヒットするようなクエリはそんなに多くないし、どこかで見かけたんですが(失念…)クエリキャッシュをオフにしたら(逆に)パフォーマンスが上がっただか負荷が下がっただかというのも目にしたので、今度クエリキャッシュはオフにしようと思ってました。(どのみちヒット率悪いし) そんなとき、同僚に query_cache_type を教えてもらいました。(4.0からあるオプションなのに今まで知りませんでした。。。><) http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_query_cache_type てっきりクエリキャッシュはオンかオフかしかできないと思い込んでたんですが、"DEMAND" を指定すると、「原則キャッシ

    MySQLで、指定したときだけクエリキャッシュする - (ひ)メモ
  • kumofsの死活監視はこんな感じでNagiosでやってます - (ひ)メモ

    分散Key-Valueストア「kumofs」を公開しました! - 古橋貞之の日記 \(^o^)/ kumofsは、弊社のフォトストレージサービス Ficia で現在大絶賛モリモリ稼働中なんですが、その死活監視は自家製の Nagios プラグインで行っています。 というわけで、kumofsをサービスで使いたい人の一助になればと思い、ぼくが実際に行っている kumofs の監視について紹介したいと思います。 サーバノードとマネージャノード サーバノードとマネージャノードの監視には、それぞれのノードに対してステータスを問い合わせるコマンドを発行して、その応答で死活を判断するスクリプトを書いて使っています。 kumofs公開記念ということでgithubにpushっておきました。 http://github.com/etolabo/nagios-check_kumofs 問い合わせの処理は、管理用コ

    kumofsの死活監視はこんな感じでNagiosでやってます - (ひ)メモ
    Watson
    Watson 2010/01/20
  • 負荷をかけるツール - HTTP編 - (ひ)メモ

    ApacheCon US 2007の、『Apache Performance Tuning / Part One: Scaling Up』, Sander Temme (PDF) より。 ab おなじみ、Apache付属のあいつ http_load http://www.acme.com/software/http_load/ flood http://httpd.apache.org/test/flood/ JMeter http://jakarta.apache.org/jmeter/ 最近のバージョンは使いやすくなったらしい あと、ほかには httperf http://www.hpl.hp.com/research/linux/httperf/ とか。

    負荷をかけるツール - HTTP編 - (ひ)メモ
  • メモを書き込みながらコードリーディングする方法 - (ひ)メモ

    調べたいことがあってApacheやらlighttpdやらkeepalivedやらのソースコードを読むときはGNU GLOBALを使ってたんですが、常々、メモが書き込めたらいいのになーと思ってました。 フローのメモ 関数の動作、影響のメモ マクロのメモ とかとか その場では覚えてられるんですが、最近は性能劣化のため日をまたぐと脳内バッファがフラッシュされるようになってきたので、howmでメモったり紙に印刷して手書きでメモったりしてたんですが、なんかどうもいまいち。 GLOBALのページに直接付箋はれるといいのになぁと思ってちょっと探したところ、InternoteというステキなFirefoxのextensionがありました。 こんな感じです: みんなでメモをシェアするのには向きませんが、個人的なメモをとるのにはよさげです。

    メモを書き込みながらコードリーディングする方法 - (ひ)メモ
  • 1