タグ

2014年4月7日のブックマーク (5件)

  • Java 7 CMS GCの基本的な情報の整理 - nekop's blog

    バッチ処理などスループット重視のアプリケーションはデフォルトのパラレルGCで良いが、Java EEアプリケーションサーバなどレスポンスタイム重視のものやHadoopなどのクラスタ系ソフトウェアで死活監視に引っ掛る系などのstop the worldをなるべく避けたいいわゆるサーバ系ソフトウェアを運用する場合には、UseConcMarkSweepGCを付与して停止時間の短いCMS GCを使う。その場合にCMSのチューニングに踏み込もうとするとなんだか難しい記述がいっぱいで若干困るので、簡単なガイドをメモとして書いておく。 対象バージョンは以下。 $ java -version java version "1.7.0_51" OpenJDK Runtime Environment (fedora-2.4.5.1.fc20-x86_64 u51-b31) OpenJDK 64-Bit Serve

    Java 7 CMS GCの基本的な情報の整理 - nekop's blog
    yass
    yass 2014/04/07
    " オブジェクトアロケーションが激しいようなアプリケーションでは92%だと手遅れになることがあるのでCMSInitiatingOccupancyFractionは下げたほうが良い。70とか。"
  • 第13章 パフォーマンスチューニング

    まず wiki の「Performance Tuning」を読んでください。この記事には、RAM、圧縮、JVM の設定など、パフォーマンスに関係する重要な要素についての全般的な説明があります。記事を読んだら、ここへ戻ってきてください。以下では、さらに詳しい情報へのポインタを示します。 Todd Lipcon は、「Avoiding Full GCs with MemStore-Local Allocation Buffers」と題したプレゼンテーションの中で、特に HBase の読み込み時によく発生する、すべてが止まったかのような状態になるガベージコレクション、すなわち CMS が失敗するケースと、古い世代のヒープがフラグメンテーション化するケースの 2 つを取り上げています。最初のケースに対処するには、-XX:CMSInitiatingOccupancyFraction を追加してデフォ

    yass
    yass 2014/04/07
    " CMS が失敗するケースに対処するには、-XX:CMSInitiatingOccupancyFractionを追加してデフォルトより低い値を設定し、CMS をデフォルトよりも早めに開始します。60 パーセントまたは 70 パーセントから開始するようにします "
  • G1GCのつかいどころメモ - nekop's blog

    以下の環境とテストでCMSとG1GCを比較してみた。かなり急ぎでやったので間違っている可能性が多少ある。 16 cores, 32GB mem -Xms24g -Xmx24g 8 instances Infinispan 6.0.3.Final DIST cache, put 4GB data (1KB entry * 2M, 2GB data with one backup copy, 2GB * 2 = 4GB) CMS: -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=30 G1GC: -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:InitiatingHeapOccupancyPercent=30 $ java -XX:+UseG1GC -XX:+PrintFlagsFinal

    G1GCのつかいどころメモ - nekop's blog
    yass
    yass 2014/04/07
    " CMSでGCが間に合わなくてFull GCが発生してしまっている / ケースでG1GCにスイッチするともっとFull GCが起こる / ヒープが十分であればG1GCのほうがポーズタイムは低下する "
  • Nginxで複数条件のIF文を書く方法がすごいw - Qiita

    NginxでIf文を if ($host = 'www.example.com' && $request_uri ~ "/admin") という風には書けない。 入れ子にもできません。(ディレクティブなので?) そこで逃げ道は 文字列結合で判定。 if ($request_uri = /) { set $test A; } if ($host ~* teambox.com) { set $test "${test}B"; } if ($http_cookie !~* "auth_token") { set $test "${test}C"; } if ($test = ABC) { proxy_pass http://teambox-cms.heroku.com; break; }

    Nginxで複数条件のIF文を書く方法がすごいw - Qiita
    yass
    yass 2014/04/07
    " if is evil "
  • Discover opportunities at Pinterest

    Pinterest is an equal opportunity employer and makes employment decisions on the basis of merit. We want to have the best qualified people in every job. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, protected veteran status, or any other characteristic under federal,

    yass
    yass 2014/04/07
    " Optimizing EC2 Network Throughput On Multi-Core Servers / 50,000 incoming packets per second transfer rate " シングルコアで in+out 100k pps 頭打ちだったが、RPS で性能向上