タグ

linuxに関するhideokiのブックマーク (46)

  • 高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋

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

    高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋
    hideoki
    hideoki 2011/07/08
    /proc/sys/net/core/somaxconn
  • 革命の日々! gihyo.jpの「ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード」の記事について

    なんかスラドのトピックが立っていたので、しばらくコメント読んでた。 元記事: http://gihyo.jp/admin/clip/01/linux_dt/201011/18 スラド: http://slashdot.jp/linux/article.pl?sid=10/11/21/0354238 なんか全然とんちんかんなコメントが結構あってSN比悪いね。 正直gihyoの記事はスラド家からパクってきたのが丸わかりで評価が低かったのだけれども、いい感じに誤解が誤解を生んでいるようだ。 誤解1: いままで誰も思いつかなかったミラクルなパッチである。ひゃっほー 誤解2: ttyのロックを減らすのに意味がある 誤解3: このパッチはWindowsがやっているようなフォアグラウンドアプリの優先度をブーストするパッチである ふはは これをミラクルパッチだと思ってる人はLKMLにはいないんじゃないか

  • ラップトップ購入!OSは・・・

    実は最近、プライベートで利用するノートPCを新調した。用途はブログを書いたり趣味のプログラムを書いたり音楽を聴いたり写真を管理したりと、ごく一般的なものである。だが、プライベートで利用するからこそ徹底して使い心地にはこだわりたい。 ほう、今日はMacのエントリか。 と思ったそこのアナタ!早合点してはいけない。確かにMacは素晴らしい。だが、今回俺がチョイスしたのはMacではない。Linuxだ!そんなわけで、エントリではノートPC購入からインストールしたアプリについて紹介しようと思う。 なぜMacを買わなかったのか?この点について疑問に感じる方も多いことだろう。最近、ギークの間ではMacが流行しているように思う。しかるに、iPhoneの開発プラットフォームとしての需要があるせいだろう。 いや、確かにMacUIは洗練されてるしアプリケーションも充実しているので、プライベートで使うにはもって

    ラップトップ購入!OSは・・・
  • Linux で 4096 バイトセクタ HDD を fdisk - daily dayflower

    Linux でも 4096 バイトセクタのハードディスクを使うときには注意が必要らしいということを 4096 バイトセクタの HDD と Linux - daily dayflower で書きました。でも fdisk のエキスパートモードってどんなんだろうと思いつつ実際に触っていなかったので、今回はちゃんと触ってみました(でもベンチマークはとってないよ)。 今回のおはなしは(前回と同様)、物理セクタサイズ 4096 バイトの 512 バイトセクタエミュレーションモードのハードディスク、つまり 2010 年現在において 4K セクタとして売られている HDD がターゲット*1です。 CentOS 5.4 で動作確認を行いました。fdisk のバージョンはこんな感じです。 # fdisk -v fdisk (util-linux 2.13-pre7)以降の例では 1TB のディスクを3つのパー

    Linux で 4096 バイトセクタ HDD を fdisk - daily dayflower
  • 4096 バイトセクタの HDD と Linux - daily dayflower

    先日 1TB クラスのハードディスクを買いに秋葉原へいってきました。ずいぶん安くなったものだなぁと感激しながら物色してたんですが、なぜかキャッシュ 64MB のほうが 32MB のものより安かったのでこりゃお得だろうと思いそちらを考えなしに買いました。 帰ってきて調べてみたら、買ったやつは 4096 バイトセクタのものでした。なんか Windows XP だとそのまま使うとパフォーマンスがでないとか聞いていた気はしていたんですが、まさかそれを買ってしまうとは。どうりでバッファ容量が大きいほう(つまり 4K セクタ)がどの店でも安いわけだ。 たしか Linux の場合だと大丈夫だよねと思いながら検索してみると、Linux でもパフォーマンスが落ちるという話が。うわーどうしようと思い、4096 バイトセクタ HDD と Linux についていろいろ調べてみました。 ただ、机上の調査であり実地検

    4096 バイトセクタの HDD と Linux - daily dayflower
  • atime関連マウントオプション使用時のディスク性能比較 - 科学と非科学の迷宮

    要約 ITPro 掲載のチューニング記事に書かれていた、 「mount オプションに noatime オプションを付加すると読み込み速度が倍になる」 という情報について検証を行いましたが、検証方法や考察に誤りがありました。 調査の結果 Fedora8, Fedora9, Ubuntu8.04 LTS ではデフォルトで relatime オプションがついていることがわかりました。 検証方法を read() システムコールの実行時間測定という方法に変更し、あらためてデフォルト、noatime, relatime マウントオプション付加時の性能検証を行ったところ、私の環境(Core 2 Duo(2.2GHz),メモリ2GB,Fedora8)では noatime, relatime マウントオプションを付加することで、デフォルト時の実行時間の半分で read() システムコールを実行することができ

    atime関連マウントオプション使用時のディスク性能比較 - 科学と非科学の迷宮
  • Red Hat Knowledgebase: システムがメモリのキャッシュやバッファを解放せずにデータをスワップするのはなぜですか?

    記事 ID: 18229 - 作成日: 2009/07/09 8:51 - 最終更新日:  2009/08/20 4:28 対象リリース: Red Hat Enterprise Linux 4 解決方法: カーネルはメモリ上のどのページが近い将来必要とされそうかを推測するためにヒューリスティックな方法を使用し、プロセスやカーネルキャッシュに属しているかに関らず、それらのページをメモリに保持しようとします。  通常、多くのキャッシュメモリが簡単に解放できる場合であっても、カーネルはプロセスが使用しているメモリをスワップアウトします。 カーネルのヒューリスティックな方法は、sysctl の vm.swappiness パラメータを変更することにより調整できます。デフォルト値は 60 であり、この値はほとんどの作業の負荷配分に適した内容です。しかし、いくつかのシステムでは値を低くしたり高くするこ

  • そのメモリ、捨てる前に 〜EDACでECCエラーをキャッチ〜 : DSAS開発者の部屋

    かたちあるものいつかは壊れます。メモリモジュールも例外じゃありません。 DSAS はサーバが200台近くあり、複数枚メモリを積んでいるサーバもあるのでメモリの数はそれ以上です。これだけメモリがあると、どれかが壊れる確率はそれなりに・・・・ 前回のパクリはこのくらいにしてですね(^^;、ディスクは壊れると非常にわかりやすいログを吐いてくれたり、 SMART で簡単に状態をチェックできたりしますが、メモリが壊れた場合はちとやっかいです。いきなり固まったり電源が落ちたり挙動不審になったりと、全く予測不能な症状を引き起こしてしまいます。このような場合、メモリ不良を疑って BIOS でログを確認するとか、長時間かけて診断ツールかけたりしないとなかなか原因の特定に至らないので、原因不明なまま眠れない日々が続いてしまいます。 Linux でメモリエラーを検出するには、「 NMI 関連のログがでたらメモリ

    そのメモリ、捨てる前に 〜EDACでECCエラーをキャッチ〜 : DSAS開発者の部屋
  • sk_buff - Linuxカーネルメモ

    3. その他のデータ構造 3.1 frags配列 skb_shared_info内のfrags配列がある。この配列を使用することで、パケットデータを非連続な領域に分断して保持することができる。fragsを使用した状態のsk_buffを図3.1に示す。 ただし、このようにfragsパケットデータを分断して持つ形式はネットワークカード(とそのドライバ)がScatter/gather I/O(*1)に対応していないと使えない。Scatter/gather I/Oに対応しているとデバイスにNETIF_F_SGフラグが設定されているので、送信デバイスにこのフラグが立っている場合のみ、このような形式を使う。 frags配列の要素はskb_frag_structとなっており(ポインタではなくそのもの)、これは、分断されたデータがどこにあるかを管理する。 skb_frag_structはデータが置かれてい

  • 高密度小池 / CentOS プロジェクトが瓦解

    CentOS プロジェクトが瓦解 CentOS http://centos.org/ Redhat Linux 互換ディストリビューションの事実上の標準である CentOS の開発プロジェクトが事実上瓦解したようです。 July 30, 2009 04:39 UTC This is an Open Letter to Lance Davis from fellow CentOS Developers It is regrettable that we are forced to send this letter but we are left with no other options. For some time now we have been attempting to resolve these problems: You seem to have crawled i

  • 20行できる高精度ハードウェア自動認識 - Blog by Sadayuki Furuhashi

    さえないTips系のようなタイトルになってしまいましたが、これは驚きです。しかし一方で悲しい(今までの苦労は…)。 これまでLinuxのハードウェア自動認識と言えば、/sys/bus/pci/devices以下と、/lib/modules/`uname -r`/modules.pcimapを照らし合わせて解析していくのが定石でした。USBにも対応しようとすると、もう一つ大変です。 しかしこれからの常識は、/sys/bus/*/devices/*/modaliasと/lib/modules/`uname -r`/modules.aliasです。 /lib/modules/`uname -r`/modules.aliasを見てみると、↓このようになっています。 # Aliases extracted from modules themselves. alias usb:v1604p8005d*

    20行できる高精度ハードウェア自動認識 - Blog by Sadayuki Furuhashi
  • linux サーバ上のメモリの ECC 訂正回数を確認する方法 - kazuhoのメモ置き場

    メモリのエラー訂正はサーバでは必須だよという話もあるけど、じゃあ実際どのくらい訂正が発生しているのか。確認するには、/sys/devices/system/edac/mc/mc*/csrow*/edac_mode が S.?ECD.?ED になっていることを確認した上で /sys/devices/system/edac/mc/mc*/csrow*/ce_count を見ればいいっぽい。 $ cat /sys/devices/system/edac/mc/mc*/csrow*/edac_mode S4ECD4ED S4ECD4ED S4ECD4ED S4ECD4ED S4ECD4ED S4ECD4ED S4ECD4ED S4ECD4ED $ cat /sys/devices/system/edac/mc/mc*/csrow*/ce_count 0 0 0 0 0 0 0 0 普段作業している

    linux サーバ上のメモリの ECC 訂正回数を確認する方法 - kazuhoのメモ置き場
  • Charming Python: Functional programming in Python, Part 3

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Charming Python: Functional programming in Python, Part 3
  • Cygwin X 日本語アプリケーション

    以前,このページではCygwinで動作するXについて,日語に関連した次のよ うな問題を取り上げていました。 日語のドローツールがない キーボードのマッピングが日語キーボードに対応していない 端末アプリケーションが日語を表示できない これらのうち,キーボードの問題など,Cygwinのパッケージやその他のネット 上のバイナリで解決しているものもありますが,不十分なものもあります。ま た,最近のCygwinのバイナリの問題として, Xawのアプリケーションで日語がうまく扱えない などの問題もあります。 ということで,いくつかバイナリを作りました。これらを導入すると, スクリーンショット のような環境が使えるようになります。 目次 更新情報 インストール Cygwin 追加ファイル ダウンロード 展開・設定 実行 各ファイルの詳細 各種情報 作者 更新情報 Jan 8 2006 xfig

  • #277298 - Kernel 2.6.x real time clock hang on Dell - Debian Bug report logs

  • 連載記事 「Linux Kernel Watch」 - @IT

    Facebookの悩みとPostgreSQLの憂 連載:Linux Kernel Watch 久しぶりのLinux Kernel Watchでは、3月に行われた「Linux Storage Filesystem/MM Summit 2014」の主なトピックを紹介します

  • Linuxでaio - (ひ)メモ

    実装が2つある。以下、あくまで今の時点でのLinuxの場合の状況/実装のおはなし。 POSIX aio aio_read(3) とか aio_write(3), aio_error(3), aio_return(3) とか。 インターフェースはPOSIXで定義されているのと同じ。 システムコールじゃなくてライブラリ関数(librt) 裏でpthreadつくってがんばってるげ。 libaio http://lse.sourceforge.net/io/aio.html http://ftp.jaist.ac.jp/pub/Linux/Fedora/development/source/SRPMS/libaio-0.3.106-3.2.src.rpm とか io_prep_pread(2), io_prep_pwrite(2), io_submit(2), io_queue_init(2),

    Linuxでaio - (ひ)メモ
  • JF: Linux Kernel 2.6 Documentation: vm.txt

    JF: Linux Kernel 2.6 Documentation: /usr/src/linux/Documentation/sysctl/vm.txt sysctl/vm.txt /proc/sys/vm/* に関する文書 [プレインテキスト版] 原著作者: Rik van Riel <riel@nl.linux.org> 翻訳者: 川崎 貴彦 <takahiko(a)hakubi.co.jp> バージョン: 2.6.7 翻訳日時: 2004/07/29 /proc/sys/vm/* に関する文書 カーネルバージョン 2.2.10 (c) 1998, 1999, Rik van Riel <riel@nl.linux.org> 一般的な情報と法的宣言については、README を見てください。 ============================================

  • 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開発者の部屋
  • Yahoo | Mail, Weather, Search, Politics, News, Finance, Sports & Videos

    How a cheap, generic drug became a darling of longevity enthusiasts It's just water in a can. How did Liquid Death become a billion-dollar brand?

    Yahoo | Mail, Weather, Search, Politics, News, Finance, Sports & Videos