タグ

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

  • DBサーバ向けLinuxチューニングを考える 〜 メモリオーバーコミット編 : DSAS開発者の部屋

    Cでプログラムを書いていて大量のメモリを確保したくなったとき、大抵は mallocを使うと思いますが、その際には戻り値がNULLかどうかを判断してエラー処理に飛ばすと思います。しかし、Linux のメモリ管理サブシステムには「メモリ・オーバーコミット」という機構があり、実装されているメモリ以上の領域を確保できてしまいます。 #include <stdio.h> #include <stdlib.h> int main() { int i; char *p; for(i=0;i<65536;i++){ p = (char *)malloc(65536); if(0 == (long)p){ break; } } printf("SIZE=%dMB\n",i*65536/1024/1024); return(0); } swapoff したメモリ 1G のマシンでこれを実行するとこんな感じにな

    DBサーバ向けLinuxチューニングを考える 〜 メモリオーバーコミット編 : DSAS開発者の部屋
    rsyudou
    rsyudou 2009/02/04
    物理メモリ以上の仮想メモリ作成を抑えて、メモリ不足時のカーネルによる強制killを抑制する。DBサーバで活用。
  • シェルスクリプトで標準入力を加工する際の注意点 : DSAS開発者の部屋

    シェルスクリプトで標準入力を加工する際に若干ハマリかけたので、今回はそのお話をしたいと思います。 みなさんのシェルスクリプトライフの一助になれば幸いです。 標準入力を加工するシェル関数、例えば、 入力を文とするメールを送るシェル関数 ログを入力として受け取り、集計や解析をするシェル関数 を書く場合、みなさんどういう風に書いているでしょうか。 私は今までこんな風に書いていました… send_mail() { from='sender@example.org' to='receiver@example.org' { echo "From: ${from}" echo "To: ${to}" echo "Subject: test" echo cat - } | qmail-inject -A -f${from} } make_mail_body | send_mail これの何が問題かという

    シェルスクリプトで標準入力を加工する際の注意点 : DSAS開発者の部屋
    rsyudou
    rsyudou 2007/07/13
  • Keepalivedのヘルスチェックを強化するパッチ : DSAS開発者の部屋

    keepalived は MISC_CHECK を利用すると、標準の機能でサポートされていないヘルスチェックをすることができますが、MISC_CHECKの注意点でご紹介したように、安全に運用するためには結構気を使わなければいけません。また、比較的短い周期で繰り返さなければならないヘルスチェックでは「チェックの度に別プロセスを起動する」というアプローチは、できるだけ避けたいと考えるかもしれません。 というわけで、それなりにニーズがあると思われるヘルスチェック機能を keepalived-1.1.13 に組み込んでみましたのでパッチを公開します。 keepalived-extcheck.patch (46080bytes) ただしこのパッチ、まだDSASの番環境には適用していません。 つまり稼働実績がありません。今は開発環境での試験運用中ですので、その点をご理解の上でご利用下さい。不具合報告

    Keepalivedのヘルスチェックを強化するパッチ : DSAS開発者の部屋
  • KLab主催の勉強会を開催します : DSAS開発者の部屋

    GREEさんの「オープンソーステクノロジー勉強会」では多くの方に参加いただきましてありがとうございました。おかげさまで様々な反響をいただきまして「行きたかったけど行けなかったのよねえ」とか「このへんの仕組みはどうなってんだろうねえ」という声も聞こえてきたので、KLab主催で勉強会を開催することにしました。 「DSASのいろいろ」とかなりの部分で内容はかぶりますが、もう少し深いところまで踏み込んだ話もしてみたいと思います。 開催要項および参加方法は以下のとおりです。 【開催要項】 日時  : 3/23(金) 19:00-20:00 タイトル: DSASのあれこれ 講師  : やすいまさのぶ、ひろせまさあき 場所  : KLab株式会社 第3会議室 東京都港区六木6-10-1 六木ヒルズ森タワー20F 人数  : 30名程度 (定員になり次第、参加登録を締め切らせていただきます) 参加費 

    KLab主催の勉強会を開催します : DSAS開発者の部屋
    rsyudou
    rsyudou 2007/03/12
  • Linux の identd が遅い理由 〜 debian の pidentd はひと味違う? : DSAS開発者の部屋

    identd というのは,いわゆる ident プロトコル(RFC 1413)を実装したデーモンの総称です.最近は使われる場面も減ってきたかもしれませんが,DSAS では一部この identd の返答結果に基づいてアクセスの可否を決定しているサービスが存在します(※1).そのため,identd の返答速度は重要になります. ※1 ident プロトコルは,クライアントからサーバ側への TCP 接続に関して,サーバ側がクライアント側に,その TCP 接続を所有しているユーザは誰であるかを問い合わせるためのものです.問い合わせた結果を何に用いるかはサーバ次第ですが,その仕組み上,問い合わせるサーバ側は問い合わせ先となるクライアント側の identd が自分が期待した回答を返してくれるものと信頼していることが前提となります.つまり,インターネット上のクライアントの identd の返答に基づいて

    Linux の identd が遅い理由 〜 debian の pidentd はひと味違う? : DSAS開発者の部屋
    rsyudou
    rsyudou 2006/11/21
    debianパッチのpidentdで処理数が20倍になったらしい。
  • DSAS開発者の部屋:こんなに簡単! Linuxでロードバランサ (1)

    DSASのロードバランサは高価なアプライアンス製品ではなく、LinuxのLVS (Linux Virtual Server)を利用しています。 安価、というか、ハードウエア以外は金銭的コストがゼロなので、一般のクライアントからのアクセスを受ける外部ロードバランサのほかに、内部サービス用のロードバランサも配置しています。それぞれactive, backupで2台ずつあるので合計で4台もロードバランサがあることになります。(こんな構成を製品を使って組んだら数千万円すっとびますね) また、ネットワークブートでディスクレスな構成にしているので、ハードディスが壊れてロードバランサがダウンした、なんてこともありません。 ですので「ロードバランサは高くてなかなか導入できない」という話を耳にする度にLVSをお勧めしているのですが、どうも、 なんか難しそう ちゃんと動くか不安 性能が出ないんじゃないか 等々

    DSAS開発者の部屋:こんなに簡単! Linuxでロードバランサ (1)
    rsyudou
    rsyudou 2006/10/25
    試した。とても簡単!
  • カラフル端末で視認性を高める - ls編 : DSAS開発者の部屋

    ターミナルがあればご飯三杯いけるぐらいのCUI大好きっ子なんですが、ターミナルの画面はモノトーンで殺風景なのでどうも色気がありません。 色気はさておき、逆説的ですがモノトーンのターミナルで色を使うと、視認性がグッと上がります。 というわけで、今回から数回にわけて、ターミナルの中で色を効果的に使い、いかに色気を出すか、もとい、視認性を高める方法を紹介します。 第1回は ls (GNU coreutilsのls-5.2.1) を取り上げます。 $ ls -F broken-symlink@ directory/ file file.orig write-blog.todo ddl.sql executable* file.bak symlink@ Debian (sarge) だとこんなしかけでカラー化が有効になっています。 シェルの初期化ファイル (bashrcやbash_profile)

    カラフル端末で視認性を高める - ls編 : DSAS開発者の部屋
  • DSAS開発者の部屋

    12/27 から年末年始をはさんだ5日間で、技術系インターン「KLabサーバーサイドキャンプ」を開催しました。 今春3月に第2回も企画しているので、 その宣伝も兼ねて開催報告をします。 (尚、エントリー最終締切日が1/24(月)に迫っているので興味を持って頂けた方はお早めにご応募ください) キャンプの目的 このキャンプは、主にこれから就職活動を始める学生を対象にサーバーサイド開発を体験してもらい、今後の進路を考える上で参考にしてもらうことを目的としています。 そのため、Pythonでのある程度のプログラミング経験は前提としつつ、SQLやSSHなどを触ったことがない方でも参加できるように講義や課題を準備していました。 キャンプの内容 題材として、実際に遊べるリズムゲーム音ゲー)を用意しています。 このゲームにはユーザー登録機能と、複数人で同一曲を同時にプレイする機能があります。この2つの機

    DSAS開発者の部屋
  • 1