ISUCON5の予選に参加して、圧倒的な差で負けたので、 この悔しさをバネに復習して、自分の力にしたいと思う。 今回のファイトではアプリの修正が特に重要であったように思う。 そこでアプリの修正に焦点を当てて、「こうすればよかった」を追っていき、自分のものとして習得したい。 とはいえ、本番とまったく同じ状況を作ることはできないので、ローカル環境でベンチマークを走らせて、簡易に得点を見ていくことにする。 ISUCON5の予選で使われたアプリのコードとベンチマークのコード、gce用のイメージはすでに公開されているのでこちらを使う。 isucon.net なお、極力アプリの修正に集中するため、nginx.confやmy.cnfはいじらない。unicornのworker数すらいじらない。 インフラはせいぜいテーブルにインデックスを貼る程度とする。 これは、ISUCON予選本番で、やたらインフラに時間
宣伝: 僕が共訳した「Factfulness(ファクトフルネス)10の思い込みを乗り越え、データを基に世界を正しく見る習慣」が日経BP社より2019年1月に発売されました。本気で訳したので、ぜひお手にとってみてください! #地獄のサンフランシスコ - 講演のスライドと動画2015/09/23 このたび、シリコンバレーを訪れてくれた日本人学生向けに「#地獄のサンフランシスコ」と題した講演を行いました。講演は1時間ほどで、内容はサンフランシスコの高騰する家賃についてです。 スライドと動画をアップしたので載せておきます。 1. スライド初対面の学生の方々に向けて講演をしたので、場を和ませるべく前置きが長くなりましたが、スライド28枚目あたりから本論に入ります。ちなみに、スライドの操作方法は以下の通りです。 スマホからは、画面の右半分をタップすれば先に進み、左半分をタップすれば戻ります。PCからは
ご存知の通り、ApacheのVirtualHost(以下vhost)、所謂、Webサーバの仮想ホストは単一のApacheで複数のホストを処理しています。そのため、複数のvhostを含めたCPU使用量といったリソース使用量をグラフ化することは簡単なのですが、vhost単位となると各vhostへのリクエスト単位でのリソースを計測しておかないとグラフ化することはできません。そういう意味でvhost単位でリソース使用量をグラフ化しようとすると一気に敷居が上がってしまいます。 また、uid毎に実行プロセスを分離しておけば、pacctといったプロセスアカウンティング機能でuidのカウントはできますが、リアルタイムの計測(秒とか分のオーダー)にはコストが高かったり、vhostで提供しているコンテンツによっては、Apache権限で配信されているものもある(静的コンテンツ)ため、正確に計測することは難しくな
みんなのウェディングの高井です。 最近、若手のエンジニアと話をする機会が多くあります。そういった場で、ここが重要ですよと伝えたい話のうちのひとつがこの話になります。別のところに書いていたものですが、すこし手を入れた上で再掲します。 ハッカーの世界には昔から「RTFM」という言葉があります(参照)。ようするに「マニュアルを読め」という言葉なのですが、これはとても重要な言葉です。 色々な人によってブログにメモやノウハウが記載され、簡単に検索でみつかる世の中ではあります。また、そのためのサービスや技術的な質疑的な質問をすることのできるサービスも沢山あります。 しかし、検索サービスは、その内容が正しいことまで保証してくれません。見つかった記事の著者が誤解している場合もあれば、理解していない場合もあります。そして、ほとんどの場合は最新の情報ではありません。 マニュアルや公式ドキュメントであれば、それ
ChromebookでWindowsファイル共有サーバにアクセスできるFile System for Windowsの最初のReleaseをしてから4ヶ月ちょいが経過。自分で使う上では特に問題なく動作してて満足なんだけど、世界中にいるユーザからは「うごかねーよ」「接続できねーよ」というフィードバックが日々報告されてくる。このアプリの性質上、接続相手のサーバの中で何が起きてエラーになったのか、僕から直接調査することができない。SMBプロトコル上では、サーバから4バイトのエラーコードが帰ってくるだけ。その数値から原因を特定することは、無理ゲーに近い。 それでも、DevToolsで通信内容のHexダンプを出して報告してもらったりして、自分の想定と違ったバイト列があるかどうか地道にチェックしてるんだけど、それも限界がある。 How to Capture the Console Log of Dev
Redisの開発者として知られるSalvatore Sanfilippo(antirez)氏へのインタビュー。彼のキャリア、渡米せずにイタリアを拠点に活動している理由、オープンソースと企業の関わりについての意見、若者達へのメッセージ。 メディアによって作られたあらゆるステレオタイプにも関わらず、シリコンバレーで開発者として成功するのは至難の業だ。価値ある人間関係を作り上げる事ができ、その努力を見える形にできた一握りの最高のプログラマ達だけが、トップの会社で高賃金の仕事を得たり、立ち上げた会社への投資を受けたりする事ができる。そんな困難を乗り越え、しかもこの素晴らしいイタリアのシチリア島から出ずに製品を作り上げ、それに伴う評判を得る事を想像してみて欲しい。それはほとんど不可能事に近い。しかし、Redisの作者であるSalvatore Sanfilippo(antirez)は、それをやってのけ
Redisの作者antirez氏自らによる、memcachedとRedisの長所短所の比較。特に、Redisを単なるキャッシュ用アプリケーションとしてmemcachedと比較することの間違いと、それぞれの向いている使用方法についての私見。 あなたが私と面識があるなら、私が競合製品があることが悪いと考える人間でないことはご存知でしょう。ユーザーに選択肢があることは本当にいいことだと思っていますし、だからこそ他の技術とRedisを比較するようなことはほとんどしませんでした。 しかし、最適なソリューションを選ぶためには、ユーザーは正しく情報を持たねばならないのも確かです。 この記事を書くのは、有名なライブラリであるSidekiqの作者として知られるMike Perhamが、Redisのバックエンドストレージとしての使い方を書いた記事を読んだのがきっかけです。従って、私はMikeがRedisに「反
nginxの背後にELBがいて、proxy_pass https://xxx.yyy.comみたいに指定していたんだが、突然クライアントにHTTP 499が返却されてしまうという事案が発生した。なおこの記事の対象はnginx1.8系とnginx1.6系。調べたところによると割とみんなよくハマる定期ネタのようだ。 どういうことか nginxの仕様としてproxy_passに名前を使っている場合、その名前解決はnginx起動時に行われる。そしてそのときに取得したIPはnginxにキャッシュされてnginxの再起動もしくはHUPを受け取るまで解放されない。 なのでELBのようにIPが変化するものをnginxの後段に置くときは注意する。 proxy_pass https://xxx.yyy.com; だけでなく、resolverでDNSとそのキャッシュのexpireを指定、さらにset $xxxで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く