タグ

2012年6月23日のブックマーク (22件)

  • tuningathon #2に参加してきました

    こんにちは。こんにちは。 去る10月1日に実施された、tuningathon #2に参加してきました。 結果は5位!。前回よりもランクダウン。。 でも入賞できてよかったですよ。 今回はあまりたいしたことはできず、 1位の方のアプローチは「無理」と判断してハナからあきらめちゃってたので、 判断力と決断力がもっとあれば、結果は違ったのになぁと悔しいこと悔しいこと。 自分が実施したことは、入賞された方々とあまり変わらず。。 php5.4をCFLAGS="-O2 -march=core2" でソースインストール apacheのログ出力停止と並列数調整 mysqlのquery_cache on と innodb_buffer_pool_size 調整 cherokeeのサイトに書いてあるOSチューニングを少々 くらい。今回もあからさまにphpcpu boundだったので、 前回のようにfastcg

    h6n
    h6n 2012/06/23
  • hamano's gist: 第2回 Tuningathon チューニングメモ

    tuningathon2_memo.txt Ђ�*V �,�*V # 第2回 Tuningathon チューニングメモ このメモは @hamano が [第2回 Tuningathon][1] に参加した際に行ったチュー ニングポイントと感想です。 [1]: http://www.zusaar.com/event/agZ6dXNhYXJyDQsSBUV2ZW50GLmFBgw "第2弾!いろいろチューニングしてパフォーマンスを競うバトルイベント開催!「Tuningathon」2!! #tuningathon" 今回のお題は MediaWiki への参照性能という事でまたPHPか! とは思いました が2台構成可、Web Serverの入れ替え可、という条件でしたのでチューニングの 範囲が大きく広がった様に感じました。 ただ、この程度の平行数ではapacheをその他実装に置き換えた所で大した差

    hamano's gist: 第2回 Tuningathon チューニングメモ
    h6n
    h6n 2012/06/23
  • チューニンガソンで優勝してきました : DSAS開発者の部屋

    7/9(土)にチューニンガソン というイベントに参加して優勝してきたので、その報告と、何を考えてどんなチューニングをしたのかを 記憶の範囲で公開したいと思います。 今回のチューニンガソンのお題は、WordPress(ja) + php + Apache + MySQL で、 ab を使って wp-comment.php 経由でコメントのポストをすることで計測が行われました。 MySQLとApacheを立ち上げたらWordPressが動く環境が渡され、そのWordPress自体は設定ファイルを含めて 改造が一切禁止、WordPressの実行をショートカットするチートも禁止です。 0. 試合前日 環境がAWSとAMI Linuxということは事前に公開されていたため、前日にAWSに登録して少しだけAMI Linuxを 触ってみました。yumベースだけどCentOSと違って結構新しいバージョンが用

    チューニンガソンで優勝してきました : DSAS開発者の部屋
    h6n
    h6n 2012/06/23
  • 第2回 Tuningathonへ行って来ました。 – Karakani

    1ヶ月に1回しかブログ書いてないカニです。先週の土曜日、第2回 Tuningathonが開催され行ってきました。結果、上位3位だったようですが未だに何が決定打になっているのかわからず悩んでいます。 アプリケーションはMediaWikiにWikipediaのコンテンツを導入してあるといういわばWikipediaのミラー的なものです。データ件数は数百万件オーダー。一方で、テストに使用されるURLは同時並列4アクセスで合計100回のアクセスです。URLは各単語に対する記事でランダムに抽出されます。コンテンツの更新はありません。 ルールと自分がとった戦略 戦略と書いたのですが、実は特に戦略と呼べるものもなく… 簡単に考えていたのはこんな事です。 フロントエンド側のキャッシュは多分できない。百万件のキャッシュとか無理だと思うので考えない。(Wikipediaが快適に表示されているのはキャッシュサーバ

    h6n
    h6n 2012/06/23
  • Who moved my SPAM? - なぜ私がTuningathon 2で4位に入ったか?

    なぜ私がTuningathon 2で4位に入ったか? 初参加のTuningathonで4位に入りました。これといった特別なことが出来なかったので、スコアが発表されたときは正直何が起こったのかよくわからずキョドってしまいましたが、一つ仮説が浮かんだので書いておきます。 今回の環境とレギュレーション 今回はAMIが2インスタンス提供され、それぞれにapache+mysql構成のWikipediaクローンがインストールされていました。レギュレーションは、 /var/www/html/mediawiki配下の編集と、 データベース内のデータの改ざんが不可。 それ以外は何してもよし、2フロントエンドも可。 そして計測は紆余曲折がありつつですが、 http_load -parallel 4 -fetches 100 urlsで、urlsは元のクローンが200を返すURLがランダムに1000件入ったもの

    h6n
    h6n 2012/06/23
  • 「Tuningathon」2に参加してきた:やったことの備忘録と反省 - カイワレの大冒険 Third

    第2弾!いろいろチューニングしてパフォーマンスを競うバトルイベント開催!「Tuningathon」2!! #tuningathon on Zusaar(以下チューニンガソン)に@mikedaさん(以下いけださん)と一緒に参加してきました。結果は7位入賞。色々反省点はあったものの、色々勉強になったので、そのメモでも。見た人が見たら、全然甘い部分も多々あるかと思いますが、晒しまする。 当日まで まずルール。当日まで内容は分からず、公開されていた情報は以下のとおり。 当日渡された環境を使い、OSやサーバ周りのチューニングでパフォーマンスを競います! チューニンガソンの前提条件は、サーバ環境がAWS(EC2)でOSはAmazon Linux AMIです。 チューニング対象はwebアプリです。 あとはまだ内緒です。 webアプリ自体の改変は対象外です。 ということで、何も分かんなかったんですが、何も

    「Tuningathon」2に参加してきた:やったことの備忘録と反省 - カイワレの大冒険 Third
    h6n
    h6n 2012/06/23
  • CentOSにPHPアクセラレータのAPCを入れてみた

    コンパイルしたファイルをキャッシュして、phpの動作を速くするAPC(Alternative PHP Cache)。おまじない程度に導入してみたのですが、これがなかなか。インストールしただけでも体感出来るくらいがっつり表示が速くなります。さらにちゃんと設定をいじれば、更にもう一段速く。 サーバがなんとなく重いなぁと思っている方はどうぞ。 共有レンタルサーバだとAPCを導入するのは難しいかもしれませんが、VPSや専有サーバを利用している人は利用を考えてみると良いのではないでしょうか。 インストール APCをインストールするには方法がいくつかあるようですが、今回は一番簡単にインストール出来るpeclを利用する方法をとります。 そんなわけで、まず、peclを使えるようにするために、php-pear、php-devel、httpd-develをインストールします。以下、作業は基的にルート権限で。

    CentOSにPHPアクセラレータのAPCを入れてみた
    h6n
    h6n 2012/06/23
  • phpを高速化する computed goto : DSAS開発者の部屋

    前回 インタプリタ型言語を高速化する computed goto で紹介したcomputed gotoを、「phpでも使えないの?」という声が社内であったので、 php のソースコードを見たところ、特定のビルド手順で php でも computed goto が使えることが判りました。そのビルド手法とベンチマーク結果を紹介しておきます。 php の VM のソースコードは、phpソースパッケージ中の Zend/ というディレクトリの中にあります。zend_vm_で始まる幾つかのファイルのうち、 zend_vm_execute.h というファイルが命令ディスパッチが実装されているファイルで、このファイルは zend_vm_gen.php というスクリプトで生成されています。そして、 zend_vm_gen.php のオプションで、命令ディスパッチの方法を選択できます。(phpのビルドにphp

    phpを高速化する computed goto : DSAS開発者の部屋
    h6n
    h6n 2012/06/23
  • チューニンガソン2で2位でした : DSAS開発者の部屋

    10/1(土)にチューニンガソン2 というイベントに参加してきました。 もちろん前回に引き続き優勝を 目指していたのですが、今回は残念ながら2位でした。 今回もどんなチューニングをしていたのかの記録を公開します。 (ちなみに優勝したのは元KLabの濱野さんで、同じく メモを公開されています。) 今回のチューニンガソンのお題は、 Wikipedia の高速化で、 MediaWiki と Wikipedia の データが入った MySQL のデータには修正を加えずに、ランダムな100ページの表示速度を競いました。 マシンはメモリ1GBでデュアルコアのものが2台で、今回はWebサーバーの部分は自由に構成できます。 1. ボトルネックの確認 とりあえず AMI Linux の標準の php + apc で計測したところ、1ページの表示に1秒くらい使っています。 またphpか!ということで、やっぱり

    チューニンガソン2で2位でした : DSAS開発者の部屋
    h6n
    h6n 2012/06/23
  • HTML Redirect

    HTML Redirect
  • https://iconoclastlabs.com/cms/blog/posts/phonegap-vs-rubymotion

  • 礼儀正しさ重要(Good Manners Matter 日本語訳)

    以下の文章は、Rich Bowen による Good Manners Matter(Open Advice に収録)の日語訳である。 Rich Bowen は、約15年もの間フリー/オープンソースソフトウェアに携わってきた。その時間の大半は Apache HTTP Server に費やしてきたが、PerlPHP やいろんなウェブアプリケーションにも取り組んできた。彼は『Apache Cookbook』や『The Definitive Guide to Apache mod_rewrite』他いろんなの著者であり、様々な技術カンファレンスに頻繁に参加している。 僕は2000年の9月に Apache HTTP Server のドキュメンテーションプロジェクトに携わり出した。少なくとも、僕が初めてドキュメントをコミットしたのはそのときだった。それ以前は電子メールでいくつかパッチを登録し

    h6n
    h6n 2012/06/23
  • East Finchley Microsuction Earwax removal Tumblr

  • Blog | Custora

    I am excited to share that today we announced the acquisition of Custora by ...

  • Learn the Latest Tech Skills; Advance Your Career | Udacity

    © 2011-2024 Udacity, Inc. "Nanodegree" is a registered trademark of Udacity. © 2011-2024 Udacity, Inc. We use cookies and other data collection technologies to provide the best experience for our customers.

    Learn the Latest Tech Skills; Advance Your Career | Udacity
    h6n
    h6n 2012/06/23
  • rbenv と RVM との違い

    rbenv と RVM との違い 列挙してみる。 rbenv は RVM と違ってシェルにコマンドをロードしない → 代わりに $PATH を追加するだけで使えるrbenv は RVM と違ってシェルコマンドを上書きしない(RVM は cd などを RVM 独自のものに置き換える)rbenv は RVM と違って設定ファイルが無い → どのバージョンを使うかの指定のみrbenv は RVM と違って Ruby をインストールしない(rvm install 相当の機能が無い) … 代わりに自分で好きに Ruby をインストールできるし、rvm install 相当の ruby-build を使うこともできるrbenv は RVM と違って gemset の概念がない … 代わりにアプリケーション毎の Bundler を使ったほうがいいよrbenv は RVM と違って他の gem を変更する

    rbenv と RVM との違い
    h6n
    h6n 2012/06/23
  • CentOSやUbuntuでrbenv+unicorn+rails

    追記: 20120405起動スクリプトのオプションが間違っていたので修正。 --cd $app_root && $rbenv_bin/bundle exec $rbenv_bin/unicorn_rails -c $app_root/config/unicorn.conf.rb -e production $app_root/config.ru ++cd $app_root && $rbenv_bin/bundle exec $rbenv_bin/unicorn_rails -c $app_root/config/unicorn.conf.rb -E production $app_root/config.ru 以下文複数バージョンのrubyを共存させるツールとして、過去にはRVMを使っていたが少し前にrbenvに変えた。Rails3世代になり、RVMのgemsetはbundlerで代替

    CentOSやUbuntuでrbenv+unicorn+rails
  • Rubyのinjectで東京までの最短経路を解くYO!

    「すごいHaskellたのしく学ぼう!」の第10章に、Haskellを使って「ヒースロー空港からロンドンへの最適経路(optimal path)」を算出する例が出ていました。例ではその実現に畳み込み演算が使われていたので、前回同様、Rubyでもinjectを使ってこの問題を解いてみたいと思います。アヒル脳じゃなかなかHaskellの世界に入っていけませんよー。 オリジナルの解説(英語)とHaskellによる解法は、以下にあります。 Functionally Solving Problems - Learn You a Haskell for Great Good! 問題 問題設定は次のようなものです。 1. 成田空港(NRT)から東京(Tokyo)に向かう2の幹線道路A,Bがある。 2. 途中にこれらを橋渡しする3の地方道路Cがある。 3. 地方道路で区切られる各道路セグメントの通過に

  • Rubyのinjectで逆ポーランド記法電卓を書くYO!

    「すごいHaskellたのしく学ぼう!」を読んでます。こののタイトルとカバーデザインはかなりミスリードですね!もしこのを入門書と呼ぶのなら、僕の脳に相当の問題があるか、Haskellが相当に難解であるかの何れかと断定せざるを得ません。いや、おそらく問題は僕の脳にあるのでしょう。そうであれば安心です。プログラム言語はツールなのですから難解であってはなりませんからね。Rubyはアヒル言語ですから、知らないうちに僕の脳もすっかりアヒル脳になっていたのですね.. ミスリードだなんて言ってすいませんでしたm(__)m1 さて、このの第10章にHaskellによる「逆ポーランド記法電卓」の例が出ていました。例ではその実現に畳み込み演算が使われていたので、前回記事にしたinjectを使ってRubyでこの電卓を書いてみます。 逆ポーランド記法 逆ポーランド記法では演算子が数字の後にきます。 この演算

  • 僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました

    Rubyでは、簡単にデーモンが記述できる。その方法は簡単!Ruby 1.9だと Process.daemon と書くだけだ。その行の後は制御端末が切離され、デーモンとして実行される。Ctrl+Cで終了できないので、永遠に実行を続けるスクリプトは「pkill -f」などで殺す。 既存のスクリプトをデーモン化するには、この一行を加えればいいだけなのだが、常にデーモンにしてしまうとデバッグが困難になってしまう。そこで、テスト時はふつうに実行して、普段はデーモンにしてしまえばいい。その方法もまた簡単!上の一行を daemonize.rb というファイルに保存すればいい。だけどこれだけだとつまらないので、ついでにRuby 1.8にも対応させてみる。 if Process.respond_to? :daemon # Ruby 1.9 Process.daemon else # Ruby 1.8 req

    僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました
  • YOUたち!RubyでinjectしちゃいなYO!

    プログラミングの存在価値は処理の自動化です。任意の集合に対して処理を繰り返しその結果を返す、それがプログラムです。つまり集合に対して処理を繰り返す能力が、プログラムの価値を決定付けるのです1。 「手続き型言語」ではループが処理の繰り返しを実現するための重要な手法の一つです。しかしループは、一時変数を用意してプログラマがループの進行を管理しなければならない、という欠点があります。そしてその管理ミスがバグとなります。 「関数型言語」では再帰が処理の繰り返しを実現するための重要な手法の一つです。再帰では再帰の進行はその構造に基づいて自動的になされるので、プログラマがそれを管理する必要はありません。しかしその一方で、処理が多段階に渡る立体的なものとなるので、その動作の理解が平面的なループ処理に比べて難しいという欠点があります。習得には慣れが必要です。 Rubyは、手続き型言語と関数型言語の両方の側

  • ファーストサーバーがデータ初期化の大惨事!被害者の状況と損害賠償(約款)について調べてみた。 - すしぱくの楽しければいいのです。

    公開日:2012年6月21日 カテゴリ:アレな話題 ホームページが障害で表示されないとか、アクセス過多で重たすぎる程度なら許容の範囲ですけども、サーバーのデータが初期化されましたという、Web屋としては笑えない、むしろ笑うしかない状況が発生しましたよ。 それも稼働率100%保証のファーストサーバーさんというのも驚きでございます。 今回サーバーデータ初期化事故に遭遇してしまった X_urara_X さんに状況を取材させていただきながら、損害の保証はされるのかどうか、規約(約款)を確認してみました。 【2012.6.25追記】 中間報告が掲載されたので記事を書きました。ファーストサーバーの事故原因がほぼ人災だった。その概要と今後についてまとめてみました。|楽しければいいのです。 信頼のファーストサーバーがまさかの・・・ Web屋にとって顔面蒼白な事故(障害)がございましたねー。 ファーストサー

    ファーストサーバーがデータ初期化の大惨事!被害者の状況と損害賠償(約款)について調べてみた。 - すしぱくの楽しければいいのです。
    h6n
    h6n 2012/06/23
    恐ろしいなー