タグ

ブックマーク / blog.cybozu.io (8)

  • 半年かかったバグ調査の顛末は - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 今回は原因究明に半年以上かかったバグ調査の紹介をいたします。 弊社はクラウドサービスcybozu.comを提供しています。 クラウドサービスでは障害対策のためのデータバックアップやレプリケーションが必須です。 現在ラボの星野がメイン、私はサブとして弊社サービスでの利用を目指した次期バックアップシステムWalB(GitHub)を開発しています。 WalBは、ファイルシステムとdiskの間に入ってIOを全て記録するブロックデバイスとIOのログを管理するツールからなるシステムです。 詳細はリンク先をごらんください。 発端 去年はラボ内の開発環境でテストを進め、社でテスト運用を開始するのが目標でした。 ところがラボでテストを開始して4カ月後の2015年4月、不正なlogpackが検出されました。 logpackとはWalBで用いられるデータフォーマットの一つです。

    半年かかったバグ調査の顛末は - Cybozu Inside Out | サイボウズエンジニアのブログ
    OKIIZO
    OKIIZO 2016/01/08
    RAIDコントローラーの型番書いて欲しい・・・
  • 完璧な監視システムの作り方 in cybozu.com - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、Hazama チームの萩原(@hagifoo)です。 ハードウェアは故障し、ソフトウェアにはバグがあり、運用ではミスがおきるもの。もちろん、障害が発生しないのが理想ですが人間が作ったものに完璧はありません。そこで、障害の前兆や発生を捉え、その詳細を運用チームに知らせるための監視システムが必要となります。cybozu.com でも以下のようにありとあらゆるものを監視するシステムを構築し日夜監視を行なっています。 今回は、そんな cybozu.com の監視(モニタリング)システムについてお話しします。 cybozu.com と障害 監視システムの設計 3つの監視 外形監視 症状監視・リソース監視 ログ監視 その他の監視 モニタリングフレームワーク 誰が監視者を監視するのか? まとめ cybozu.com と障害 まずは、監視対象である cybzou.com について説明します。

    完璧な監視システムの作り方 in cybozu.com - Cybozu Inside Out | サイボウズエンジニアのブログ
    OKIIZO
    OKIIZO 2013/10/28
  • ADVANCEDモードでコンパイルしたJavaScriptをデバッグするテクニック - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。kintone開発チームの天野(@ama_ch)です。前回は、JavaScriptをClosure CompilerのADVANCEDモードでコンパイルする方法を紹介しました。 コンパイルが無事に通っても、素直に動いてくれることは滅多にありません。コンパイル後のコードが動かない原因をひとつずつ特定し、修正するという作業が待っています。 ゴゴゴゴゴ... 今回は、僕が実践しているデバッグのテクニックを紹介します。きっちりとデバッグをして、ADVANCEDモード対応を完璧なものにしましょう。 コンパイル後に動かなくなる原因 コンパイル後のコードが動かない原因は、次の2点に大別することができます。 プロパティへのアクセスが正しい手順でできていない エントリーポイントが存在せずコードが消されてしまっている 特に前者が原因になっていることがほとんどです。そのため、コンパイル後のコードを追

    ADVANCEDモードでコンパイルしたJavaScriptをデバッグするテクニック - Cybozu Inside Out | サイボウズエンジニアのブログ
    OKIIZO
    OKIIZO 2013/10/10
  • JavaScriptをClosure CompilerのADVANCEDモードに完全対応させるその方法! - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。会社を抜けだしてiPhone5を予約しに行ったら熱中症になりかけたkintone開発チームの天野(@ama_ch)です。 kintoneでは10万行以上のJavaScriptが動いており、ライブラリにはClosure Libraryを利用しています。この規模になると、1ページあたりで読み込むjsファイルの容量が数MB単位(!)になってしまいます。そこで、通信量を減らすためにClosure CompilerでJavaScriptをミニファイしています。今となっては特に珍しい話ではないですね。 ところで、Closure Compilerの最適化レベルには3段階あるのをご存知でしょうか。 ・WHITESPACE_ONLY コメントとホワイトスペースの除去など ・SIMPLE_OPTIMIZATIONS(デフォルトレベル) WHITESPACE_ONLY に加え、ローカル変数のリネーム

    JavaScriptをClosure CompilerのADVANCEDモードに完全対応させるその方法! - Cybozu Inside Out | サイボウズエンジニアのブログ
    OKIIZO
    OKIIZO 2013/10/10
  • x86/x64最適化勉強会6 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちはサイボウズ・ラボの光成です。 今回は8月31日に開催された「x86/x64最適化勉強会6」の模様についてお伝えします。 今回の勉強会では、6月に発売された Haswell の新しい機能にかかわるものが3件、C++ によるゲーム開発の環境にかかわるもの、ARMと x86 の比較、Xeon Phi についてがそれぞれ1件ずつの発表でした。 以下、それぞれの発表内容について簡単に解説します。 Haswell 関係 私は「Haswellサーベイと有限体クラスの紹介」(動画1)を発表しました。前半は Haswell の復習として、パイプラインの改良点と、256bit 長に対応した整数演算命令 AVX2、積和演算を1命令で行う FMA、いくつかのビット演算命令や暗号用途の整数演算命令などについてサンプルコードを示しつつ紹介しました。gcc 4.8 などの新しいコンパイラでは、ソースコードを変

    x86/x64最適化勉強会6 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ
    OKIIZO
    OKIIZO 2013/09/06
  • 自動障害回復システム 月読の話 - Cybozu Inside Out | サイボウズエンジニアのブログ

    @ymmt2005 こと山泰宇です。短い夏休みから帰ってきました。 今回は cybozu.com のデータセンターで運用を開始した自動障害回復システム「月読」を紹介します。障害にも色々ありますが、今回紹介するのは仮想マシンのホストサーバーの物理障害を検出して、稼働していた仮想マシンを予備のホストに移動する仕組みです。 月読は、データセンター全域に分散したエージェントが協調動作するピア・ツー・ピア (P2P)システムとして作られています。以下分散システムの話題が多数でてきますが、とても難解というわけではないので、分散システムの入門記事としてお楽しみください。 障害にどう対処するか 障害対応の自動化 設計のポイント エージェント間通信 障害の検出と回復 その他の機能 まとめ 障害にどう対処するか 物理障害対策の基は二重化(多重化)です。アプリケーションサーバーのようにデータを持たないサーバ

    自動障害回復システム 月読の話 - Cybozu Inside Out | サイボウズエンジニアのブログ
    OKIIZO
    OKIIZO 2013/09/02
  • WalB v1.0 リリース - Cybozu Inside Out | サイボウズエンジニアのブログ

    更新情報 2017年6月現在、WalB のプロジェクトページはhttps://walb-linux.github.io/です。 こんにちは.サイボウズ・ラボの星野です. 今日は,効率的なバックアップと非同期レプリケーションを目的とした Linux カーネルドライバ WalB についての簡単な紹介と,そのバージョン 1.0 のリリース告知をさせて頂きます. WalB って何? WalB は「ワルビー」と発音します.名前の由来は Block-level WAL です.WAL は Write-Ahead Logging (ログ先行書き込み) のことで,データベースの一貫性制御等に用いられます. WalB を使うと,オンライン状態のブロックデバイスにおいて,アプリケーションやファイルシステムによるデータ書き込みによって生じる差分データを,ブロックデバイスをフルスキャンすることなく効率的に取得出来る

    WalB v1.0 リリース - Cybozu Inside Out | サイボウズエンジニアのブログ
    OKIIZO
    OKIIZO 2013/05/29
  • x86/x64最適化勉強会5 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちはサイボウズ・ラボの光成です。 今回は3月30日に開催された「x86/x64最適化勉強会5」の模様についてお伝えします。 x86/x64最適化勉強会会場 プログラム開発においては、開発の段階において早すぎる最適化は悪、当に必要になってから最小限だけ行いなさいと言われています。 また今どきのコンパイラは優秀なので、下手な小細工はせずにコンパイラに任せておくのがよいとも言われています。 もちろん一般的にはそれは正しいのですが、普段動画や音声を利用するときに使われているコーデック、ネット上での決済時に利用される暗号ライブラリなどは、人の手によるアセンブリ言語で開発されていることが多いのもまた事実です。 私が主催しているこの勉強会はそういう下回りのライブラリを開発するときに必要な技術や情報の交換のために行っています。 ustreamで過去の会の動画も含めてみることができます。 以下、やや

    x86/x64最適化勉強会5 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ
    OKIIZO
    OKIIZO 2013/04/02
  • 1