2011-01-01から1年間の記事一覧

クエリキャッシュを切ったほうがいイカ? ベンチマークしてみた

カジュアル!(挨拶) このエントリは MySQL Casual Advent Calendar 2011 の18日目の記事です。昔、専ら PostgreSQL を使っていた頃、MySQL のクエリキャッシュって簡単に性能上がるしみたいだし羨ましいなあ、と思っていました。そのため、1年ほど前から業務…

HAProxy で graceful restart する方法

haproxy には起動後に設定ファイルを読み込み直したりする機能がないので、バランス先を追加するなどの変更が無停止ではできない、と思い込んでいたのだけど実は違った、というお話。実際、同一プロセスで読み込み直すことはできないのだけども、以下のよう…

USB HDD が認識できなかったので mknod

メモです。サーバに USB HDD を繋いで、USBデバイスとしては認識されているのに usb_storage としては見えなかったのでなぜだろうかと。modprobe usb_storage してもだめ。 kernel: usb 1-5: new high speed USB device using ehci_hcd and address 3 kernel…

[perl] YAPC::Asia 2011 で発表しました #yapcasia

年に一度の Perl のお祭り YAPC::Asia で発表してきました。スライドはこちら (IE以外のブラウザ推奨) Perlで構築された中規模サイトのDC引っ越し記録 100万PV/日、数十Mbps 程度の中規模サイトを サーバ構成をリファクタリングしつつ なるべく止めずに 新DC…

mysql コマンドの履歴を残したくない場合は MYSQL_HISTFILE=/dev/null

タイトルで内容を全部書いてしまった。SQL を直接 mysql コマンドから発行する場合、デフォルトでは履歴が $HOME/.mysql_history に残ります。次回起動した場合にも履歴をさかのぼれるわけですが、たとえば「本番データベースに繋いで更新、削除系の操作を実…

#isucon ではどんなことを考えながら作業していたか

前のエントリ #isucon で優勝してきました は当日夜に酔っ払った頭で勢いで書き上げたので、少し冷静に振り返ってまとめてみます。 最初のボトルネック発見 DB が CPU 4コアをフルに使って回っているのですぐに Query が重いのは分かった 重いクエリはキャッ…

#isucon で優勝してきました

なんでもありのWebアプリケーション高速化バトル、#isucon に会社の同僚 @Songmu @sugyan と3人で、fujiwara組として参戦してきました。結果、幸いにも優勝を勝ち取ることが出来ました。こんなに楽しいイベントを企画、運営していただいた Livedoor の皆様、…

MySQLで参照の負荷分散を行うslaveは3台から構成するのがよいのでは

前回の記事 MySQLをmaster:slave=1:1構成にして参照をslaveに向けるのがなぜ良くないか の続きです。master : slave = 1 : 1 で参照を slave に分散してもまったく美味しくないわけですが、では参照の負荷分散を行いたい場合の slave は何台で構成するとよい…

MySQLをmaster:slave=1:1構成にして参照をslaveに向けるのがなぜ良くないか

MySQLのmasterとslave 1:1にして参照をslave向けるのってやりたがる人多いみたいだけど、性能たいして上がらない割に可用性落ちるだけだからやめようキャンペーン2011-06-19 00:16:30 via YoruFukurouMySQL はレプリケーションが簡単に構成できるのですが、…

Unbound で一部の名前だけ置き換える DNS cache サーバを立てる

とある特定の名前だけ、本来のとは別の IP アドレスを返したい場面というのが開発中によくあります。 (追記) PCならば hosts を書き換えればいいのですが、iPhoneなどそういう手段が容易にとれない端末に対して行いたいUnbound を使ってそのような DNS cache…

Webアプリケーションのログについてあれこれ

社内勉強会で話したスライドをおいておきます。(IE以外のブラウザ推奨)http://dl.dropbox.com/u/224433/kayac-01-log/index.html初心者向けというか、かなりざっくりしたスピリチュアルな話でございます。要約すると、 後で役に立つからログは出しておけ ロ…

rsyslogの式ベースフィルターで小ハマりしたメモ

そろそろ rsyslog の便利機能も試してみるかと思っていじってたら、式ベースフィルターで小ハマりしたのでメモ。Ubuntu Server 10.04 LTS の rsyslogd 4.2.0.式ベースフィルターでメッセージにマッチさせる設定をこのように書いたら、 # NG if $msg contains…

SIGNALを考慮してないTheSchwartz Job workerをなるべく安全に停止する

TheSchwartz の worker はシグナルに対してデフォルトでは何もしないので、再起動させようと SIGHUP を送信したりすると job 処理の途中で割り込まれて死ぬ可能性があります。自前でトラップして安全に再起動する方法は過去に TheSchwartz の worker を安全…

[qpstudy] #qpstudy Lite 1周年記念LT大会に参加しました

qpstudy 1周年おめでとうございます!今回はほぼずっと LT のタイムキーパーとしてタイマー操作しながら、一番前の特等席でビールを飲むという簡単なお仕事でした。樽生ビールはやっぱり美味いですね。例によって LT もしてきました。HTML + JavaScript で資…

nginxでX-Accel-Redirectを使う場合に余計なヘッダを削除する

アプリケーションで認証後 S3 のコンテンツを返したかったのだけど、nginx で BASIC 認証を掛けていたらうまくいかなかった、というお話。 Amazon S3 の認証トークン付き URL をアプリケーションで生成し X-Accel-Redirect ヘッダに出力 nginx が S3 から取…

OMRON の UPS BY35S を Linux と使う

先日引っ越して自宅サーバを移動したところ、まれにサーバの電源を取っている子ブレーカが落ちることが判明。HDD が壊れたらたまらないので、今まで自宅では使っていなかった UPS を導入することにした。前の会社では APC の UPS ばかり使っていたので、惰性…

#qpstudy 05 に参加 & LT してきました。

qpstudy は第1回から皆勤賞です。回を重ねるごとに女性の参加者が増えるというのは、何かすごい現象を目の当たりにしている気がします。メインのディストリビューション対決は、対決といいつつ皆さんの愛を感じました。Linux 以外の OS でも見てみたい。本編…

KVM にインストールした CentOS-5.5 のタイマー調整

kvm

調子に乗ってゲストをばしばし clone して増やしていたら、気がついたら host の CPU 負荷 (sys) が妙に高い。host で vmstat を見てみると、cs (context switches) の値が 1 guest 起動するごとに 8000 ぐらい増える。割り込み発生しすぎ、ってことですね。…

LVM にインストールした仮想マシンのディスクをあとから増やす方法

host 側に LVM でパーティションを切って、そこに KVM なりなんなりの仮想マシン (guest) をインストールした場合、あとから guest のディスクを増やすのにはこんなふうにすればいいかな、というメモ。まず host 側で LVM パーティションを作成し、そこに gu…

Kamakura.pm techtalk #1 (とか転職のお知らせとか

Kamakura Perl Mongers 発足ということで、テクニカルトーク #1 にスピーカーとして参加してきました。 # というかスピーカー枠に埋められていたというかスライドはこちら→Sys::Virt で仮想マシン操作 ですが、かなり手抜きですみません。トークの後半分ぐら…