タグ

ブックマーク / kazuhooku.hatenadiary.org (7)

  • 同時にwrite(2)すると混ざるかどうか - kazuhoのメモ置き場

    Linux のシステムコールである write(2) の ドキュメントを読むと Atomic/non-atomic: A write is atomic if the whole amount written in one operation is not interleaved with data from any other process. This is useful when there are multiple writers sending data to a single reader. Applications need to know how large a write request can be expected to be performed atomically. This maximum is called {PIPE_BUF}. This volume of

    同時にwrite(2)すると混ざるかどうか - kazuhoのメモ置き場
  • ソフトウェアのアップデートとウェブサービス運用における継続性リスクについて - kazuhoのメモ置き場

    Webサービスのようなプロダクトについての議論について教えて下さい - Kentaro Kuribayashi's blog で呼ばれたような気がしてたけど放置してた。でも今日、express という node.js 上で動作するメジャーなウェブアプリケーションフレームワークを作っているチームが、次世代の製品に取り組み始めたと聞いたので、メモを以下に貼ります。 ------------------------------ ✂ ------------------------------ ソフトウェア技術の配布手法のトレンドは以下のように推移してきた。 プロプライエタリ(仕様も実装もベンダー固有) オープンシステム(仕様は共通、実装はベンダー固有) オープンソース(実装を皆で共有) ハードウェアにしても、プロプライエタリから業界標準主導なアプローチにかわってきている。 つまり、時代とともに、

    ソフトウェアのアップデートとウェブサービス運用における継続性リスクについて - kazuhoのメモ置き場
    ono_matope
    ono_matope 2013/12/20
    "より枯れた競合があるならそっちを使う/まだ進化中の非コモディティ製品に価値があると思うなら、その対価を払う"
  • 2010年代にはLVMスナップショットベースのバックアップとか流行らない (もしくはログ構造化ファイルシステムへの期待) - kazuhoのメモ置き場

    感想文です。タイトルはテンプレから。 たとえばうちの環境(普段 20-80 IOPS くらいの負荷がかかっている HDD) で、blockdiff (参照: Kazuho@Cybozu Labs: blockdiff を使ったお手軽ホットバックアップ環境の構築 (Linux, MySQL, etc.)) を実行すると、バックアップ速度は 10MB/sec. くらいになる。これはフルバックアップでも増分バックアップでも同じで、ボトルネックは HDD のシーケンシャルリード速度。他の I/O があるから、それぐらいの速度になってしまう *1。 換言とすると、100GB のボリュームをバックアップするのに約3時間かかる。必要な時間が3時間ならデイリーバックアップで運用できるけど、これが 1TB のボリュームとかになると、ウィークリーバックアップしか選択肢がなくなる。 ただ、 ウィークリーバックア

    2010年代にはLVMスナップショットベースのバックアップとか流行らない (もしくはログ構造化ファイルシステムへの期待) - kazuhoのメモ置き場
    ono_matope
    ono_matope 2012/09/16
    LFS期待の話
  • mysql と drizzle の負荷テストツール「skyload」が凄い! - kazuhoのメモ置き場

    tmaesakaさんがやってくれました。 ずいぶん前からSQLのベンチマークを測定するのに使いやすいプログラムないかなーと思ってました。個人的にはmysqlslapというのを使ってたのですが、幾らか気に入らない所があったりコマンドラインオプションが複雑で毎回 --help を読んだりしていました。余計な機能なんかなくて、指定したSQLを高速にくりかえしてくれる物が欲しいなぁって思ってたんです。 とあるIRCでこの前、tmaesakaさんから「いま作ってる」という話を聞いて、いろいろ要望を言ってたんですが、ついさっきチュートリアルが公開されました。速いw 名前はskyload。とても小さく、実装コードだと800行程度です。しかもオプションが少ないので使い方が単純です。試しに適当な INSERT の速度を測ってみました。 $ skyload --server=localhost --mysql

    mysql と drizzle の負荷テストツール「skyload」が凄い! - kazuhoのメモ置き場
    ono_matope
    ono_matope 2010/01/23
    便利そう。
  • シングルマスタ/マルチスレーブ構成に興味がない理由 - kazuhoのメモ置き場

    システム全体で必要な書き込みパフォーマンスが、RDBMSノード1基の IOPS の W% の場合、シングルマスタ+スレーブn台構成のシステム全体のパフォーマンスは、 書き込みパフォーマンス: W 読み込みパフォーマンス: R=(1-w)*(n+1) になる。この n=R/(1-w)-1 って w が増加するとスレーブ増設のメリットが加速度的に失われていく点がイヤ。 例えば、システム全体で要求される書き込みパフォーマンスが W=0.3 で、読み込みパフォーマンスが 3 ならば、シングルマスタ/マルチスレーブ構成で必要なノード数は5台。マルチマスタ構成を採った場合でも理想値は4台なので、そう遜色があるわけではない。 しかし、仮に必要なパフォーマンスが2倍 (W=0.6, R=6) になると、必要ノード数はマルチマスタ構成での8台に対し、シングルマスタ/マルチスレーブ構成では16台と、一気にコス

    シングルマスタ/マルチスレーブ構成に興味がない理由 - kazuhoのメモ置き場
    ono_matope
    ono_matope 2009/11/02
    ふむふむ。書き込みはスレーブの数+1だけ起こるので…という。
  • (特にMyISAMを使っていた)ウェブ屋さんがInnoDBを使う場合の設定項目 - kazuhoのメモ置き場

    InnoDBはMyISAMと比較して安全(OSクラッシュや電源断が発生してもテーブルが壊れない)分、書き込みが遅い。データベース屋さんからすると、それは当然のことでMyISAMがおかしいんだ、ということになり、だからバッテリバックアップ機能のついたRAIDカードを使うんだ、という話になる。でも、MyISAMを使っているウェブ屋さんの現場では、場合によって多少データが消えてもかまわないから、安いハードウェアで大量のアクセスを捌きたい... って乖離があるんじゃないかなーと思ってる。 そのような場合には、my.cnf の innodb_flush_log_at_trx_commit パラメータを調整することで、MyISAMに比肩する書き込み速度を得ることができる(そのかわり、クラッシュや電源断の場合は、設定によって直近1秒以内の変更が失われる)。 他のパラメータも含めて書いておくと、データベー

    (特にMyISAMを使っていた)ウェブ屋さんがInnoDBを使う場合の設定項目 - kazuhoのメモ置き場
  • 「Linux-DBシステム構築/運用入門」がすごい - あなたのシステム、ガラパゴス化していませんか? - kazuhoのメモ置き場

    松信さんがやってくれました。 ずいぶん前からデータベースの「正しい」構築と運用方法についてまとめたはないかなーと思ってました。自分はこれまで、様々なネットワークアプリケーションのプログラミングやデータベースの設計、チューニングを行ってきています*1が、問題が解決できたようには見えても、果たしてそれが最適な解決策だったのか不安に感じることがありました。それは、体系的な知識に欠けているからです。だから、網羅的な教科書がほしいなぁって思ってたんです。 とあるインターネットでこの前、松信さんから「いま書いてる」って話を聞いて、一部を見せていただいたりしたんですが、つい昨日、手元に届きました。やったね☆ 名前は「Linux-DBシステム構築/運用入門」。「入門」と銘打たれているものの、基礎的な知識から、なぜそうなるのか、どう応用すればいいのか、といった点まで広くカバーしている*2、全方位的な隙のな

    「Linux-DBシステム構築/運用入門」がすごい - あなたのシステム、ガラパゴス化していませんか? - kazuhoのメモ置き場
  • 1