InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example
Simon Maple氏による、「CON4117:The Adventurous Developer's Guide to Application Servers」のレポートです。 とりあえず中身の前に外見の感想 いきなり映画のオープニング風味のムービーで始まった本セッション。 会場からアンケートをとってその場で棒グラフが書かれる会場参加型(?)で楽しかったです。 演出面では今回聞いたセッションの中で一番かも。 内容は仁義無きApplication Server Buttle! Application ServerをMaple氏独自に比較していくセッションです。出場は、Tomcat、Jetty、GlassFish、Liberty Profile、JBoss。の5者。(+WebSphereとWebLogicが最後に一瞬だけdisられに登場) なお自分の経験は Tomcat ⇒ いつもお世話に
一つのJavaプログラムについて、処理をマルチスレッドで並行性を持つように記述し、複数CPU(マルチコア)上でそのプログラムを実行することにより並列処理を実現しようとした際、ログ出力が実行性能にどれだけ影響を及ぼすのかを把握したい、と考えています。 プログラムの開発(特にデバッグ)においては、ログが使えないと苦労します。ただし、ログを埋め込むと、性能に影響を及ぼします。また、ログレベルを抑制し、実際にはログ出力がなかったとしても、ログレベルの判定処理が動くことで、多少の影響はあります。 最近のログ出力ライブラリはスレッドセーフに作られていますが、それは内部で排他区間を持つことになるので、並列処理においては排他による性能への影響は無視できません。 そこで、同一プロセス内でマルチスレッドにより並行実行するプログラムを作成・実行し、複数スレッドからログを出力すると、実行性能にどれだけ影響を及ぼす
前置き Experiences with Node.js: Porting a RESTful Service Written in Java - ZiggyTech 上記記事では、実験的にJava (Jersey + Hibernate on Tomcat) で実装された REST API サーバを Node.js で書きなおしてみたら、少ないリソース(CPU/メモリ使用量)でほぼ同等のパフォーマンスが出せたよ(ただし、O/Rマッパーを使用しない場合)、と書いてあります。この件に関して @koichik さんとやり取りしていた中で以下のような意見を頂いたので、実際にやってみましたという記事です。 @hakobera メジャーってことだと,あの比較が Play ではなく Tomcat なのは正解.日本的には Jersey ではなく Struts (もちろん 1 の方)なら更によかったw 2
In migrating from JAXB 1.0 to JAXB 2.0/2.1, I notice that JAXBContext.newInstance has become a very costly operation. We have an admittedly large XML schema ... JAXB generates somewhere on the order of 900 objects to represent it. In JAXB 1.0, it took no noticeable time (a few millis perhaps) to instantiate a JAXBContext. But in JAXB 2.0, it is taking a full 20-30 seconds (on a 2GHz P4) to do the
As we've worked towards 1.0 over the past year, Cassandra's performance has improved spectacularly. Compared to the current release this time in 2010, we've increased our write performance a respectable 40%. But the real area we wanted to focus on improving was read performance, which we succeeded in increasing a phenomenal 400%! Reads There are actually two different execution paths for reads in
Performance techniques used in the Hotspot JVM What code shapes does the JVM optimize best? Here is a list. Knowing these optimizations may help language implementors generate bytecodes that run faster. Basic information about bytecodes is in Chapter 7 of the JVM Spec.. In the context of this discussion, "compiler" = "JIT", and usually more specifically refers to the server (or final tier) JIT. Ge
Javaの最適化の議論で「インライン展開」「エスケープアナリシス」などの用語が出てきていて、気になって調べたところ、java実行時のオプションで最適化の方法を指定したり実行過程を表示したり出来るらしい。 主なオプションについて Java HotSpot VM Optionsにパフォーマンスに影響しそうなHotSpot VMのオプションが説明されている。 例: オプション 効果 -XX:+PrintCompilation メソッドがコンパイルされた際にメッセージを表示 -XX:+UseBiasedLocking Biased Lockingを使用する -XX:+OptimizeStringConcat 可能なら文字列の連結操作の最適化を行う -XX:+AggressiveOpts 将来のリリースでデフォルトになりそうな最適化フラグを有効にする ... ... たとえばjava起動時に-XX:
前回でパフォーマンス計測に用いるタイマーについての理解を深めたので、やっとパフォーマンスの計測を始めることができる。 今回のテーマはJavaの文字列連結だ。タイムリーだね。 文字列連結についての基礎知識 Javaの文字列連結についての言語仕様まわりは Stringの連結はそう簡単なものではない - じゅんいち☆かとうの技術日誌 が詳しい。しかし、パフォーマンス計測がなっちゃない。パフォーマンスの計測はそう簡単なものではない。 currentTimeMillis()で計測しておいて plusTime:14780, concatTime:7053, sbuilderTime:7, sbufferTime:13 とか、その7とか13の有効数字はいくつだっての*1。 そんなわけで、計測方法を工夫してみよう。二重ループとし、内側を1000回、それを500回繰り返す。ループが1回まわる間に1回ずつSy
Hadoop 0.21ではCounterでGCに使っている時間が見れるようになりました。 こんな感じです。 この例では5秒程度ですが、ジョブによってはもっとGCに時間を使っている場合があり、 もっと詳細を調べてチューニング出来ないかという話です。 まずはGCのログを取ります。 <name>mapred.child.java.opts</name> <value>-Xloggc:/tmp/hadoop-mikami/@taskid@.gc -Xmx1024m</value> このように-Xloggc で指定した場所にログを取れます。 @taskid@ には attempt_201010311624_0037_m_000000_0 みたいな感じでattempt_id が入ります。 以下が先程のジョブのあるMapタスクでのGCログです 0.164: [GC 3072K->416K(889
はじめに 多数のクライアントからのリクエストを処理しなければならないWEBシステムでは、パフォーマンスの問題が出てくることが珍しくありません。 パフォーマンスの問題を解決する技術の一つとして「キャッシング」技術があります。これは動的コンテンツの生成結果をメモリにキャッシュ(一定期間保存)し、その間に受けたリクエストに対してはキャッシュの値を返すことにより、生成の処理数を減らすことができるというものです。また静的コンテンツでも、PDFや画像ファイルなど比較的大きいファイルをHDDではなくメモリにキャッシュすることにより、ファイルロードを高速化することができます。 他のパフォーマンスの問題解決方法と比べて大きなメリットは、ビジネスロジックの修正を最小限に抑えることができ、デグレーションを防ぐことができるところです。ただし、キャッシュされている間は古い情報がレスポンスとして渡されることになり、常
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く