タグ

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

  • CPython の GC チューニング - methaneのブログ

    ISUCON は Go で参戦しているんだけど、複数のチームが Python で予選通過したらしいので、応援のために Tips を公開していこうと思う。 目次 CPython の GC について 統計情報を出力する 第一世代GCの間隔を調整する Out of Band GC 循環参照を見つけて対処する CPython の GC について CPython のGCは参照カウント+循環参照コレクタだ。そして参照カウント方式は(幾つかの欠点はあるものの)Webアプリのボトルネックになったりはしにくい。 なのでGCチューニングの基は次のようになる。 循環参照を避ける 循環参照コレクタの呼び出しタイミングを制御する 循環参照コレクタは、生きているオブジェクトの数がある程度増えると第一世代が実行され、第一世代が一定回数実行されると第二世代が、第二世代が一定回数実行されると第三世代が実行される。 各世代

    CPython の GC チューニング - methaneのブログ
  • Apache HTTP Server: MPMパラメータ チートシート

    こんにちは滝澤です。たまにはapacheネタということで一つ。 Apache HTTP ServerのパラメータチューニングではMaxClientsなどのMPM(マルチ プロセッシング モジュール)関連のディレクティブの設定値を調整することが多いです。記事ではMPM関連のディレクティブのデフォルト値やディレクティブ間の関係を表にまとめたので紹介します。 注意事項 UNIX系OSにおける説明となります。バージョン2.2系および2.4系の両方について説明します。 関係式においてバージョン2.4系の場合はMaxClientsをMaxRequestWorkersに置き換えて読んでください。 ディレクティブ名には公式サイトのリンクを張っています。公式の説明も確認してください。 デフォルトの欄で括弧付きものはそのディレクティブそのものは設定不可ではあるが、内部的に設定されているデフォルト値を示してい

    Apache HTTP Server: MPMパラメータ チートシート
  • ま鉄系 » 月100万リクエストを支えるサーバの裏側を公開します

    福田です。今日は、月100万リクエストを超えるアクセスを支えるこのVPSのシステム構成とかを公開しようと思います。その気になれば3コア、2GBしかないメモリでも余裕でさばけるっていうわけです。 OSは何使ってるの?OSは、日で業務に使用しているところは少ないUbuntuのLTS(バージョンは書きません)を利用しています。 Ubuntuを使う理由としては、HHVMとかを入れやすいところにあります。その他のソフトウェアもCentOSとかRHELより豊富だったりします。あとは、慣れっていうのもあります。サーバで使用しているソフトウェアは?100万リクエストにさくさく応えるために、Nginxを利用しています。表面上はフルスロットルってなっていますが、これはNginxのソースコードをいろいろ書き換えたりして運用しているためにあえて変えてある仕様となっています。Nginxでも、何重にもキャッシュをか

  • SQLデータベースに正しインデックスを作るのは 誰の役割?

    SQLのパフォーマンス問題は、SQLそのものと同じぐらいの歴史がある―― ある人は、SQLはそもそも遅いものだとすら言うかもしれません。これは、SQL歴史が始まった頃は正しかったかもしれませんが、今となっては全く 当てはまらないでしょう。にもかかわらず、SQLのパフォーマンス問題は今も一般的でよくあることです。どうしてそうなってしまうのでしょうか? SQL言語は、恐らく最も成功した第4世代言語(4GL)でしょう。その最大の利点は、「何を」と「どのように」 を分離できることです。SQL文は、どのようにそれを実行するかを記述せずに、単純に 何を必要としているかのみの記述になっています。以下のような例を考えてみましょう。 SELECT date_of_birth FROM employees WHERE last_name = 'WINAND'SQLのクエリは、データを要求する英語の文として読

    SQLデータベースに正しインデックスを作るのは 誰の役割?
  • 『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』

    サイバーエージェント公式ブログをご覧の皆さんこんばんは、インフラ&コアテク部の須藤(@strsk)です。普段はAmebaのソーシャルゲーム全般のインフラを見つつ、日語ラップの啓蒙をしながら弊社社員を素材にコラ画像をつくったりしています。好きなAAは麻呂です。 はい、というわけで今回はMySQLインデックスチューニングの基的な流れについてまとめてみました。 ソーシャルゲームは更新も参照もめちゃくちゃ多いです。数秒のレプリケーション遅延も致命的なので適切なテーブル、クエリとインデックス設計が重要です。(何でもそうですけど)インデックスが多くなると更新コストなどが懸念されますが、インデックスが正しく使われていないクエリを放置している方が悪です。そんなこんなで、割と例も偏ったりしてるかもしれませんがあしからず。 前提としてはInnoDBを想定しています。MyISAMはほとんど使っていません。

    『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』
  • 『TOTEC2014 インフラチューニング(チューニンガソン)で優勝したはなし』

    TOTEC2014 インフラチューニング(チューニンガソン)で優勝したはなし | サイバーエージェント 公式エンジニアブログ インフラ&コアテク部の仲山です。 「TOTEC2014 インフラチューニング」という社内チューニンガソンイベントで優勝をいただいたので、 技術ブログを書くことになりました。 TOTECは、サイバーエージェントグループ内の技術者コンテストで、 インフラ、フロントエンド、サーバサイドの分野ごとに、 「チューニンガソン」と呼ばれる形式でその速度向上を競い合います。 今回の「インフラチューニング」では、 参加者はソフトウェアのソースコードを改変できないため、 あくまでミドルウェア等の変更、チューニングや、サーバ構成の最適化のみで闘います。 主なレギュレーション 運営があらかじめ用意したMediaWikiの応答速度を競う。 ソースコードの変更は禁止だが、設定ファイルの編集は

    『TOTEC2014 インフラチューニング(チューニンガソン)で優勝したはなし』
  • ヘビーなGraphite運用について - ゆううきブログ

    "Monitoring Casual Talks #6"に参加して、「ヘビーなGraphite運用」についてしゃべってきた。 Graphite ここ数ヶ月ずっと運用してて、そこそこのリクエスト数さばけるようになるまでと冗長化の話をだいたいしてた。 Graphiteのパフォーマンス・チューニングで結構苦労してて、@sonots さんが発表されてた"GrowthForecast/RRDtool チューニング秘伝の書" がすごい参考になった。(Graphite(whisper) のデータ構造と RRdtool のデータ構造はよく似ている。) fadvise(2)とか知らなかった。 ぜひ試してみたい。 スライド 結構口頭で補足してた。Graphite 秘伝の書書きたい。 感想 今回の勉強会、かなり刺さる内容が揃っててよかった。 形式が30~100人くらいいて、数人の発表者がプレゼンするっていう感じ

    ヘビーなGraphite運用について - ゆううきブログ
  • いつまでビルド時間をもて遊んでるつもり?今すぐ導入すべきiOS開発を爆速にするXcodeプラグイン - Qiita

    by @mixiappwchr 下記の記事の中でもちらっと紹介したのですが、開発時のビルドを毎回やり直さずに修正できるXcode Pluginが非常に便利なので紹介したいと思います。 細かいチューニングを繰り返す場合に絶大な威力を発揮します。 DeNA中の人が事例で語る、アニメーションやデザインのアプリを効率よく開発するためのTips ここで書きましたが、このプラグインを使うと ビルドやり直ししてアプリ再起動など、いっさい必要ありません。 利点としては実際は裏でビルドしてるので、主にビルド時間というより、アプリが再起動が必要なくなる事です。 例えば深いところにあるUIの修正となると大きく威力を発揮します。 修正 ↓ アプリ再起動 ↓ そのページまで行く と行った事が 修正 ↓ 確認 ですみます。 シミュレータだけでなく、TCPで情報を送ってるので実機とmacが通信できるネットワークにいるな

    いつまでビルド時間をもて遊んでるつもり?今すぐ導入すべきiOS開発を爆速にするXcodeプラグイン - Qiita
  • サーバーさんに本気を出してもらうために憶えておきたい設定項目

    cpuspeed がオンだと.... — はせがワン (@hasegaw) 2014, 5月 29 ミドルウェアのスループットを測ろうと思ったのですが cpuspeed などの設定をぜんぜんやっていませんでした。。。 経験上、チューニング過程でいじりたくなるようなパラメータを思い出してみます。 パワーマネジメントに関する設定はオフにする UEFIやBIOSにはパワーマネジメント設定がありますが、これらを無効にするとプロセッサなどが無条件で定格クロックで走り続けます。ピーク性能を高めたり瞬発力を上げるためにはパワーマネジメントはオフにします。当然ながらベースの消費電力やファンの騒音は増えますが、かわりにいくらかピーク性能の向上が見込めます。 Hyper Threading はレイテンシーとスループットのトレードオフ Hyper Threadingは、たぶん、コア内でパイプラインを取り合うから

  • MySQLのパラメーターチューニング at OSC 2014 Tokyo/Spring

    去る2014/03/01(土)の OSC 2014 Tokyo/Spring でMyNAとしてセミナーの枠をいただいたので、おはなしししてきました。 雨の中たくさんの方に足を運んでいただきました。当にどうもありがとうございました。 "MySQLパラメーターチューニングの理屈と定石"と銘打って、普段アプリを書いているような人向けに、俺が普段やってるパラメーターチューニングと同じくらいのことが誰にでもできるように…とか思って資料を作っていたんですが(社内のDB勉強会に使うネタのうち、パラメーター調整の部分だけを切り出した、というのがもともとのコンセプトです)、作れば作るほど、いかに自分が「考えるな。感じるんだ」でチューニングしているのかをむしろ思い知らされました。 「これとこれ見るでしょ? そうするとなんか変な感じがするじゃない? で、こことここだからこれかなって。いじってみたら違うから、近

  • MySQLチューニング

    2. \こんにちは/ ● ● ● ● とある企業のDBA ● オラクれない ● ポスグれない ● マイエスキューエる その正体は ● 嫁の夫 ● せがれの父 日 MySQL ユーザ会 (MyNA) のすべり担当 #mysql_jp でツッコミをいただけると幸い

    MySQLチューニング
  • 1