2011-01-01から1年間の記事一覧
Perl::Metrics::LiteにCLIを追加しました。FIleとSubroutineのメトリクスを測定できます。簡単にlocやmccableのcomplexityなどを測定できるので、casualに使ってみて頂ければ。また、Jenkins用に組み込むためのmeasureperl-jenkinsというスクリプトも同梱し…
こんばんは、着る毛布が届く前に風邪を引いたdannです。色々な環境やプロジェクトに携わっていて、その度にJenkinsのセットアップやPerlプロジェクト用のモジュールのインストールなどをしていたりしませんか。また、プロジェクトを作るたびに、Job毎にプラ…
Perl Advent Calendar Hacker Trackの21日目です。 http://perl-users.jp/articles/advent-calendar/2011/hacker/21こんばんは。dann です。みなさん、意識は高まっていますか? 僕は上々です。 今回は拙作の Perl::Metrics::Lite というモジュールを紹介さ…
Perl Advent Calendar Test Trackの11日目です はじめに こんばんは、家で凍死しそうなので、そろそろセラムヒートでも買おうと思っているdannですTest Track 11日目です! ikasam_a さんから「Jenkinsの話を書いて!」と言われたので、ACDD(Advent Calendar…
Goな人が最適化しているエントリ(http://blog.golang.org/2011/06/profiling-go-programs.html )を読んで、ちょっと面白いなと思ったので、元の論文を読んでみました。読んでみたところ、Java 64bit版は標準のC++の5.8倍遅いとなっていたので本当かな?と思…
前回から大分時間が経ってしまいましたが、今回はPerlのテストカバレッジ結果のサマリをJenkinsにIntegrationする方法について説明します。 概要 以前、proveのJUnit用のFormatterを使ってテスト結果をJUnit形式のXMLに変換する方法を紹介しましたが(http:/…
近年はメモリも安くなり、性能を向上させるために多量のメモリを使うことで性能を維持するのは、ある程度の大規模環境であれば一般的なことではないかと思います。特に、JVM、Oracleなどで多量のメモリを使うアプリケーションでは、ヒープサイズが数Gb-数十G…
大規模なトランザクションが求められるシステムでは、ストレージには一定以上の投資をしたほうが全体の運用コストは下がります。アーキテクチャをシンプルに出来、かつ台数を少なくできることでオペレーションコストが劇的に下がるからです。従来はHDDを中心…
OracleではSQLの実行手順は、次の3フェーズから構成されます。 Parse Execute Fetch その中でParse処理は、次のような手順で行われます。 セッションにキャッシュされたカーソルが存在しない場合 カーソルをオープン 共有プール上に共有カーソルがある場合 s…
Oracleでは性能に関連するデータが色々と取れるため、性能問題の解決がかなり容易になっています。OracleのSQLのチューニングによく使うツールと使い方のポイントをまとめてみました。 性能状況の統計的分析 (Statspack) 問題箇所の全体に占める割合によって…
性能チューニングは、Hardware, OS, Middlewareに対する理解があるかないかで大分かわってくるところがありますが、Hardware, OS, Middlewareといったインフラに詳しいだけでは、踏み込んだチューニングは行えません。それにも関わらず、AP開発と運用は比較…
インフラの性能でアプリケーションの性能限界が決まってしまうため、Hardwareの基礎性能を把握しておくことはとても重要です。以下では、Hardwareの基礎性能を測るための各種ツールを紹介します。 ディスク用ツール - fio DBサーバーなどのI/O intensiveなサ…
Google-Wide Profiling: A Continuous Profiling Infrastructure for Data Centers http://research.google.com/pubs/pub36575.html 継続的プロファイリングの仕組み 測定はOprofileとGoogle Perf Tools OprofileでのHPMのプロファイル Google Perf Toolsを…
CPUネックのサーバーの状況をリアルタイムに知りたいケースというのは、科学計算、暗号処理、画像処理などのCPU boundなアプリケーションでは良くあるんじゃないかと思います。perfはoprofileのリアルタイム版といった感じで、hardware event, software even…
TwitterのBlenderはNIOの使い方として面白い使い方だなあと思っていたので、それに比較的近い実装をしているMessagePack-RPCのJava版の実装を読んでみました(MessagePack RPCのJava版でも同様にNettyを使っています)。読んでみた感じだと、MessagePack RPC…
http://engineering.twitter.com/2011/04/twitter-search-is-now-3x-faster_1656.html「バックエンドサービスのI/Oが同期になると、I/O待ちで遅くなり、フロントが詰まってしまうので遅い。だから、Non BlockingなI/O呼び出しをしI/Oを多重化し、その呼び出…
ついにFlickrのExploreに載りました!今年はもっとたくさん載せられるように頑張りたいところです。http://www.flickr.com/explore/interesting/2011/4/10/page31
PerlはCPANという環境があるからこそ、今も一線で使われ続けているといっても過言ではありません。しかし、その最大の利点は、同時に初中級者にとっては問題にもなりえます。それは、モジュール量が多すぎて、何を選択すればよいかを判断するのが難しいから…
「phantomjs + qunit-tapでCLIで単体テスト」をするという素晴らしい方法をt-wadaさんが書かれてました。これを少し応用するだけでJavaScriptの単体テストのCIすることができます。 http://www.slideshare.net/t_wada/wandering-about-javascript-testingFT…
IOPSが高い値を維持でき、ある程度コストを抑えたDBサーバーのディスク構成を考えてみる。RAIDカードを全てのスレーブに置くというのは価格がかかりすぎること、SSDが安くかえるようになったことを考えると、以下のような構成が、そこそこの価格でIOPSを稼ぐ…
性能やスケーラビリティが求められるシステムでは、どこにどれくらいの性能オーダーが必要なのかを検討するのは、アーキテクチャを検討する上でとても重要になる。封筒裏の計算の段階で大体のオーダーがわかれば、必要になるSWのアーキテクチャ、アルゴリズ…
あまり操作性がよいとはいえないKindleですが、3つのショートカットを知っているだけでちょっと便利に使えます。 Alt+一番上の行の英字 数字入力 SYMおさなくても、数字が入力できます。ページ移動のときに便利です。 ブックマーク追加 ALT + B 画面のリフレ…
Vimperatorのsmoozieをvimiumに移植しました。vimiumのscroll step sizeの設定は、400くらいにすると結構快適に使えます。 https://github.com/dann/vimiumこれでvimumでもスクロールがスムーズになり快適に使えるようになりました。
LDR -> はてなブックマーク -> EverNote というワークフローで情報の蓄積をしているんですが、普段Kindleを使っているので、ゆっくり読みたい物についてはKindleで読むのもいいかもしれないと思うようになりました。そこで、はてなブックマークに登録したエ…
光の感じが白鳥の美しさを際立たせていて、何とも言えず幻想的な光景でした。
奥さんの趣味のラッピングを最近一緒にやっていて、ラッピングに少しずつ詳しくなってきました。100円ショップで売ってる物で意外とかわいくラッピングできるので、安く楽しめるので、それもまたいいですね。
写真を撮るようになってから、ケーキの形や作りがかなり気になるようになりました。かわいらしいケーキを見つけると思わず買ってしまう今日この頃です。