タグ

ブックマーク / dsas.blog.klab.org (5)

  • iPXE導入でサーバ機種にあわせたネットブートを : DSAS開発者の部屋

    さて、 前回は、iPXEを利用してサーバの機種情報等から動的にパラメータを生成してLinuxを起動する方法を簡単に紹介しました。 今回は、syslinuxのmenu.c32を利用した起動メニューの利用と機種情報によって動的にメニュー設定を変更する方法を紹介していきたいと思います。 (タイトルはそれらしいのにかえてみました(^^;;) 起動メニューを利用するには DSASでは、PXELINUX+menu.c32を利用して起動時に使用するカーネルやイメージを選択できるようにしており、OSの起動中や起動後に使用する変数などをカーネルパラメータに記述したりしています。 状況によっては、起動時にパラメータを追加したり変更して起動したいケースがあるのですが、前回も書いたように、iPXEに用意されているメニューコマンドを使って作成したメニューでは、起動時にメニューを手動で変更することは現時点では難しいよ

    iPXE導入でサーバ機種にあわせたネットブートを : DSAS開発者の部屋
    Yudoufu
    Yudoufu 2014/10/17
  • 高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋

    はじめに アクセスが急増すると、応答時間が著しく悪化するサイトはありませんか? 普段は200ミリ秒以内で安定してアクセスをさばいているのに、イベントやらキャンペーンやらを開始した瞬間から、普段の2倍や3倍のアクセスが殺到し、その結果、レスポンスタイムが3秒とか9秒とかかかるようになってしまうことってありますよね。 あるサイトの実状 つい先日まで、そんなサイトが私の目の前にもありました。自社で運営している某ソーシャル系のサイトなんですが、イベント開始時刻と同時にアクセス数が急増するのです。とはいえ、所詮は普段の2倍とか3倍程度の数なのだから、少なくとも1秒以内にレスポンスを返せるくらいの性能は維持したいものです。 しかし実際は困ったことに、応答に3秒以上もかかってしまう処理が大量に発生してしまう状況に陥ってしまっていました。これはきっと、どこかにボトルネックがあるに違いありません。 仮説を立

    高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

    MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
  • DSAS開発者の部屋:ケータイやクローラの判別などに使えるmod_cidr_lookupを公開しました

    mod_cidr_lookupというApacheモジュールを公開しました。 http://lab.klab.org/wiki/Mod_cidr_lookup mod_cidr_lookupは、アクセスしてきたクライアントのIPアドレスが、指定したCIDRブロック群のいずれかにマッチするかどうかを判別するApacheモジュールです。 Apache 2.0と2.2系に対応しています。 マッチした結果は、環境変数 (X_CLIENT_TYPE) とHTTPリクエストヘッダ (X-Client-Type) にセットするので、Apache自身とバックエンドのWebアプリの両方で同じ情報を参照することができます。 このモジュールを使うメリット 簡単にクライアントの種類を知ることができる 判別処理はモジュールが行ってくれるので、のちほどお見せるように、Webアプリやhttpd.confでは環境変数やリク

    DSAS開発者の部屋:ケータイやクローラの判別などに使えるmod_cidr_lookupを公開しました
  • 届いたメールの料理の仕方 (3) 〜qmail編〜 : DSAS開発者の部屋

    前回の後半で、dot-qmailで実行したコマンドの終了コードによって、次の配送を行うかどうかを制御できると書きました。 今回は、この仕組みを活用した例を2つ紹介したいと思います。 携帯電話からのメールをあるプログラム(process-ktai-mailとします)で処理したいとします。 携帯メールのenvelope fromのドメインパートはキャリア毎に決まっているので、ドメインパートを見れば携帯メールかどうかを判断することができます。 しかし、この判断ロジックを同じようなプログラムのそれぞれに実装するのは面倒ですしDRY (Don't Repeat Yourself)の原則からも外れるので、こんな風にしてみましょう。 mobile-valveというプログラムが、携帯メールかどうかの判断を行う。 mobile-valveは、携帯メールの場合はexit 0(後続の配送命令を実行する)し、そう

    届いたメールの料理の仕方 (3) 〜qmail編〜 : DSAS開発者の部屋
  • 1