タグ

チューニングに関するoonishinのブックマーク (17)

  • サイボウズ版 MySQL パフォーマンスチューニングとその結果 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。先日親知らずを抜歯した時、つらすぎたので MySQLJOIN のことを考えて心の平静を保っていました。 サイボウズの製品のひとつである kintone はニーズに応じて自由に業務アプリのようなものを手軽に作ることができ、データの検索条件やソート条件も細かくカスタマイズ可能で、様々なレベルでのアクセス権も設定可能という非常に便利なツールです。 しかしその機能を支える裏側では複雑なクエリが発行され、MySQL に多大な負荷をかけています。サイボウズのクラウドには数十テラバイトに登る MySQL データがあり、数千万件オーダーのテーブルを複数 JOIN するクエリが毎秒のように実行されるという、エンジニア魂が滾る環境です。 現在サイボウズでは性能改善に力を入れており、僕もその業務に従事しています。例えば2018年

    サイボウズ版 MySQL パフォーマンスチューニングとその結果 - Cybozu Inside Out | サイボウズエンジニアのブログ
    oonishin
    oonishin 2018/08/08
    やっていることは素晴らしいが、JOIN多用するアプリでMySQLを選択したのがそもそもの間違いだと思うんだけど・・・。
  • 第 5 章 オペレーティングシステムのチューニング (Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド)

    接続ハッシュテーブルのサイジング 接続ハッシュテーブルには、アクティブな TCP 接続に関するすべての情報が保持されます。接続ハッシュテーブルのサイズを取得するには、次のコマンドを使用します。 ndd -get /dev/tcp tcp_conn_hash この値によって接続数が制限されることはありませんが、接続のハッシュにかかる時間が長くなることがあります。デフォルトサイズは 512 です。 ルックアップを効率化するには、サーバーで予想される同時 TCP 接続数の半分の値を設定します。この値は、/etc/system でのみ設定可能で、起動時に有効になります。 現在の TCP 接続数を取得するには、次のコマンドを使用します。 netstat -nP tcp|wc -l ファイル記述子の設定 Solaris では、ulimit プロパティーによる開けるファイルの最大数の設定は、サポートでき

  • ApacheとNginxの性能比較でevent_mpmの本気を見た

    はい、これは僕がいつも良く見るApacheとNginxの性能差に見えます。大体、ApacheはNginxの75%程度の性能に落ち着きます。数十バイトの静的コンテンツに対するリクエスト処理はNginxの得意分野だと思っていたので、大体こんなものです。 そこで、真面目にevent_mpmのチューニングを行ってみました。で、幾度となくベンチを試した結果導き出した、静的コンテンツに対する同時接続数100程度に対して最高のパフォーマンスを示すevent_mpmの設定は以下のようになりました。 [program lang=’apache’ escaped=’true’] StartServers 4 MinSpareThreads 4 MaxSpareThreads 4 ThreadsPerChild 2 MaxRequestWorkers 2 MaxConnectionsPerChild 0 [/p

    ApacheとNginxの性能比較でevent_mpmの本気を見た
  • 「超チューニング祭 ~ニコニコを超快適にしてみた~ in ニコニコ超会議3」の問題点 - Webパフォーマンスについて

    来る2014年4月26日(土)・27日(日)に、「ニコニコ超会議3」が開催され、その中で「超チューニング祭 ~ニコニコを超快適にしてみた~」が開催されるそうです。 これは、現行のスマートフォンサイトのTopページのソースファイルを競技者がチューニングして、速度やデザイン・UIの改善をして、速度と使い勝手を競うのだそうです。 「これは面白そうだ! 会場は家から近いし!」と思って参加するつもりでいましたが、事前調査で計測してみた結果、フロントエンドのチューニングでは速くならないことがわかったので、その内容について説明します。 (主催者の方にも、フロントエンドのチューニングでは速くならないという情報は伝えてあります。) まずは、計測データ まずは実際のトップページ(http://sp.nicovideo.jp)の計測データを見てみましょう。 計測は、NTT DoCoMoとSoftBankの3G回

    「超チューニング祭 ~ニコニコを超快適にしてみた~ in ニコニコ超会議3」の問題点 - Webパフォーマンスについて
  • JJBugでJava VMの起動高速化の話をしました - nekop's blog

    Japan JBoss User Group - 灼熱の JBossでJava VMの起動高速化の話をしました。非圧縮jarによる高速化はみなさんも使っている有名なソフトウェアで採用されていますが、あまり知られていないチューニングだと思います。大抵の場合200%くらいの高速化ができます。 Java Drag Race Tuning from nekop CMS GCを使わないほうがちょっとだけ速い、とか効果が小さめなオプションについては特に解説していません。 あと話すの忘れてましたがScalaがチューニングしてもあまり変わっておらず、最初から高速なのはデフォルトでbootclasspathを使っているからです。bootclasspathはクラス検証されないので、-Xverify:noneが既に適用されてるのと一緒です。 紹介したのは主にクラスローディングを高速化することによりJavaで書か

    JJBugでJava VMの起動高速化の話をしました - nekop's blog
  • JAVAヒープサイズ・GCチューニングのまとめ

    システム開発に役立ちそうな情報を日々メモしています。世の中の開発現場が少しでも平和になることを祈ります。 ■ 前提条件 ----------------------------------------------- JVMは、Sun Java (JDK 1.5-1.6)を想定。 ■ 目標 ----------------------------------------------- ・マイナーGC、フル GCがそれぞれ頻発しないこと。 ・フル GCの実行時間が1秒未満であること。 ・マイナーGCの実行時間が0.1秒未満であること。 ・連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 ・理想的な状態は、上記に加えて、フル GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジ

  • Twitterがページ表示時間を5分の1に高速化。どのようなテクニックを使ったのか?

    Twitterフロントエンドのアーキテクチャを見直し、Webページの読み込み速度を改善したことをブログで明らかにしています。 新しいアーキテクチャでは、これまでWebブラウザ上でJavaScriptの処理によって行ってきたWebページのレンダリングを見直し、サーバ側でレンダリング済みのHTMLページを送信し表示することにしています。これによってWebページの読み込みから最初のツイートの表示までの時間が大幅に短縮されることになりました。 When we shipped #NewTwitter in September 2010, we built it around a web application architecture that pushed all of the UI rendering and logic to JavaScript running on our users’

    Twitterがページ表示時間を5分の1に高速化。どのようなテクニックを使ったのか?
  • LinuxでPostgreSQLパフォーマンス向上

    たとえばDebian packageをそのままもってくるとi486用のコードで 実行されることになる。自分の使っているマシン上でコンパイルすると CPU別に最適化してくれるので、数%から10数%程度の高速化が期待 できる。 IDEのハードディスクを接続していてDMAが使えない状態だと極端に遅くなるの は当然である。が、しかし、たまに「LinuxのHDDアクセスは遅い」と騒いでい るのを見かけるので、一応、書いておく。 $ sudo hdparm -mcd /dev/hda /dev/hda: multcount = 16 (on) I/O support = 1 (32-bit) using_dma = 1 (on) using_dmaがonになっていれば良い。なっていなければ $ sudo hdparm -d 1 -c 1 -m 16 /dev/hda /dev/hda: settin

  • Apacheのチューニング-あどみん-

    私の調べたApacheのチューニング方法です.Apacheのプロセス周りのチューニングを解説します. Webサーバーを構築するだけなら、この解説は飛ばして問題ありません. チューニングするApacheはバージョン2でpreforkのApacheを前提とします. 使っているApacheがpreforkかどうかは、「その他」をみてください. なお、私が調べた限りの事なので、間違っている場合があります.注意してください. 以下の順番で解説します. (1)Apacheのプロセスについて(慨論) (2)Apacheのチューニングポイント (3)Apacheのプロセスに関するディレクティブ (4)設定例 (5)値の決め方 (6)その他 1.Apacheのプロセスについて(慨論) まずは最初にApacheのプロセスについての基礎知識です. どのようなサーバーでも内部動作の概要を

  • Ring

    Ringとは、リクルートグループ会社従業員を対象にした新規事業提案制度です。 『ゼクシィ』『R25』『スタディサプリ』など数多くの事業を生み出してきた新規事業制度は、 1982年に「RING」としてスタートし、1990年「New RING」と改定、そして2018年「Ring」にリニューアルしました。 リクルートグループの従業員は誰でも自由に参加することができ、 テーマはリクルートの既存領域に限らず、ありとあらゆる領域が対象です。 リクルートにとって、Ringとは「新しい価値の創造」というグループ経営理念を体現する場であり、 従業員が自分の意思で新規事業を提案・実現できる機会です。 Ringフロー その後の事業開発手法 Ringを通過した案件は、事業化を検討する権利を得て、事業開発を行います。 さまざまな事業開発の手法がありますが、例えば既存領域での事業開発の場合は、 担当事業会社内で予算や

  • Ring

    Ringとは、リクルートグループ会社従業員を対象にした新規事業提案制度です。 『ゼクシィ』『R25』『スタディサプリ』など数多くの事業を生み出してきた新規事業制度は、 1982年に「RING」としてスタートし、1990年「New RING」と改定、そして2018年「Ring」にリニューアルしました。 リクルートグループの従業員は誰でも自由に参加することができ、 テーマはリクルートの既存領域に限らず、ありとあらゆる領域が対象です。 リクルートにとって、Ringとは「新しい価値の創造」というグループ経営理念を体現する場であり、 従業員が自分の意思で新規事業を提案・実現できる機会です。 Ringフロー その後の事業開発手法 Ringを通過した案件は、事業化を検討する権利を得て、事業開発を行います。 さまざまな事業開発の手法がありますが、例えば既存領域での事業開発の場合は、 担当事業会社内で予算や

  • Apache チューニング Tips | Carpe Diem

    先日、Web サーバ勉強会 #2 が開かれました。内容は、Apache のチューニングということで、参加したかったのですが、他の予定があって参加できませんでした。 そこで、僕が個人的に行っている Apache のチューニングを紹介したいと思います。最初、スライドで作成しようかと思ったのですが、ブログにまとめたほうがよさそうなのでブログにまとめていきます。 まず、大前提として Apache をチューニングするうえで、大事なことはその Apache が提供する Web サービスの種類のよって大きくチューニングする内容が異なるということです。例えば、動画・写真共有サービスと株価情報のサービスを比較すると、当然のことながら大きくサービスの内容が異なりますし、HTTP レベルでみるとクライアントからのリクエスト数、データサイズ、などがかなり違ってきます。 ですので、まずは自分が扱っているウェブサービ

  • プロのサーバ管理者がApacheのStartServers, (Min|Max)SpareServers, MaxClientsを同じにする理由 - blog.nomadscafe.jp

    kazuhoさんが「プロのサーバ管理者の間では存在価値が疑問視されて久しい (Min|Max)SpareServers だと思う」と書いたり、hirose31さんが去年のYAPC::Asiaで{Start,{Min,Max}Spare}Servers,MaxClientsは同じにしているよと発表したり、実際前職のサーバはそのように設定されていたのですが、自分でうまく説明ができてなかったので、調べながら書いてみた。 当はイントラブログ用に書いていたものですが、がんばったので転載。 前提として、CPUの使用率におけるsystemとfork Re: クラウドがネットワークゲーム開発者にもたらしてくれたもの - blog.nomadscafe.jpでも書いている通りforkってのはサーバにとって重い部類の処理になります。つまり負荷の高いときにforkを大量に行うのはしてはならないことの1つです。

  • HDDをSSDにしたらデータベースはどれだけ速くなるか? オラクルと富士通が実験

    リレーショナルデータベースを利用する際には、高い性能を引き出すために物理設計をし、スキーマを工夫し、パラメータのチューニングを行うことがつねに行われてきました。 性能のボトルネックはたいがいHDDにあり、いかにそのボトルネックを回避するかがチューニングのポイントですが、最近では性能向上のための武器として、HDDよりもずっとアクセス性能の高いSSDが注目されています。SSDはHDDと置き換えるだけで、アプリケーションにまったく手を加えずに性能向上を可能にする手段として非常に魅力的です。 HDDの代わりにSSDを利用したら、リレーショナルデータベースの性能はどれだけ向上するのでしょうか? オラクルと富士通が共同検証を行い、その結果をホワイトペーパーとして先週発表しました(参考「日オラクルと富士通 フラッシュ技術活用によるデータベース高速化を共同検証」)。 ホワイトペーパーでは、HDDの代わり

    HDDをSSDにしたらデータベースはどれだけ速くなるか? オラクルと富士通が実験
  • Project Voldemort

    Configuration There are three configuration files that control server operation: cluster.xml – This holds the information about all the nodes (i.e. servers) in the cluster, what hostname they are at, the ports they use, etc. It is exactly the same for all voldemort nodes. It does not hold tuning parameters or data directories for those nodes, since that is not information public to the cluster but

  • 2007-02-22

    -XX:+UseParNewGC -XX:+UseConcMarkSweepGC の場合のverbose:gcの出力は以下のようになる? young generation [ParNew] old generation (mark and sweep) [GC] old generation [Full GC] young generationからold generationへのコピーで空きがない場合はFull GCが発生する? http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html http://tabiraku.dip.jp/cima/index.php?blogid=1&archive=2005-2-3 http://h50146.www5.hp.com/products/software/oe/hpux/document/pd

    2007-02-22
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 1