タグ

2009年2月13日のブックマーク (29件)

  • @IT:/procによるLinuxチューニング [後編](2/4)

    /procによるLinuxチューニング [後編] ~ /proc/sysの主要パラメータ群総解説 ~ 遠田 耕平 2002/12/17 /proc/sys/fsディレクトリ /proc/sys/fsには、ファイルシステム関連のチューニングパラメータが集められています。 file-max システム中のオープンファイル管理データの最大数を指定できます。 file-nr file-nr内のパラメータはそれぞれ、オープンされているファイル数、空きファイル管理データの数、システム中のオープンファイル管理データの最大数(file-maxと同じ)を示します。 ファイルのクローズ時には、使っていたファイル管理データを即座に解放するのではなく、いったん(次の機会に使えるように)取り置きます。この取り置かれている管理データの数が、2番目の数値となります。 inode-state、inode-nr inode-

  • TCP/IP通信の概要

    TCP通信は、まず通信をしたい要求元から相手先にTCPコネクションを設定し、そのコネクション上で実際のデータのやり取りがなされます。TCPのコネクションは、パケットの中にあるフラグを使って以下のようなフェーズで設定されます。下記のキャプチャデータの「info」欄の[ ]の中が、そのフラグを示しています。 要求元から相手先へSYNフラグをセットしたパケットを送信 SYNパケットを受け取った相手先は、要求元にSYN/ACKフラグをセットしたパケットを送信 相手先からACKフラグがセットされたパケットを要求元が受け取る 従って、ルータのフィルタリングでこのフラグを扱えると、WAN側から通信が始まるケースだけ遮断するといったことができます。つまり、外部からランダムにポートスキャンされても、ルータで明示的に通過設定していないものについては遮断できますので、アタックには強くなります。おやじが使用してい

  • はじめてのircbot - file-glob こと k.daibaの日記

    まったりとしたチャット ircdを動かして日々の何気ないチャットをやっていたある日, url送ったらそのページのタイトルを返してくれるボットが欲しいなぁ という話がでてきました.これはPOEを使ってみるチャンス,ってことでircbot作りに挑戦することにしました. サンプル POE::Compoennt::IRCにはいくつかサンプルがついていたり,podにもサンプルがついているのですが,一番簡単なのがPOE Cookbookだったので,これをベースにしてみました.やることは簡単で,元のスクリプトの if ( my ($rot13) = $msg =~ /^rot13 (.+)/ ) { $rot13 =~ tr[a-zA-Z][n-za-mN-ZA-M];となっている部分を,urlを受け取ったらそのタイトルを返すように書き直せばいいわけです.これを実現するために見つけたのがHTML::Ta

    はじめてのircbot - file-glob こと k.daibaの日記
  • 12のPHP最適化テクニック:phpspot開発日誌

    12 PHP optimization tips Ilia Alshanetsky’s PHP performance talk given last week at the Zend conference is pretty useful as far as getting small tips for tweaking PHP code. PHP最適化テクニックが紹介されていましたので以下にまとめてみました。 staticメソッドが使えるなら使おう。速度は4倍になる __get, __set, __autoload は使わない require_once は重い include, requireで読み込むファイルはフルパスにしよう スクリプト開始時のUNIXタイムを $_SERVER['REQUEST_TIME'] で取れる strncasecmp関数やstrpbrk関数を使えるケースは

  • LOCAL PHP部 札幌勉強会02 - nazolabo

    で喋ってきました。 今回はフレームワーク特集ということだったので、いろいろフレームワークを並べてどうこうと話したかったのですが、ちゃんとつっこんだ話をしようとするとどれか1項目でも結構な長さになってしまうので、とりあえず単語だけ並べて後は調べてね☆ミみたいな方法にしました。 内容は薄くなってしまいましたが、きっかけになってくれれば成功だと思います。 LOCAL PHP部は、北海道PHPに関する活動を積極的に行っているようです。北海道在住の方はもちろん、東京集中が気にくわない人、地方ITを盛り上げたい人は是非参加してみてください。 ちなみに他の方の発表はメモしてないです。ごめんなさい。面白かったのですが自分がてんぱってたので…

    LOCAL PHP部 札幌勉強会02 - nazolabo
  • Yiiを使う - nazolabo

    なにそれ Yii Framework(イーと読むらしい) なんかPRADOの人あたりが作ってるsymfonyをインスパイアしたPHPフレームワーク 12/3に1.0がリリースされた ダウンロード http://www.yiiframework.com/download/ インストール どっかに置く。 誰かPEAR Channel作って!openpearに勝手に入れちゃう?それライセンス的にいいの? プロジェクト作成 /path/to/yii/framework/yiic webapp [アプリケーション名] アプリケーション名のフォルダが作られ、その下に各ファイルが展開される。 設定 基的にprotected以下のファイルを編集する。以降特に注意書きがなければprotected以下のファイルである。 nameにアプリケーション名を書く dbのconnectionStringにDSNを書く

    Yiiを使う - nazolabo
  • この先生きのこるには

    やっぱりCakePHPPHP的な意味で最も優れたフレームワークだと思う。 別に馬鹿にしてるわけじゃない事を前置きしておくけど、「分からない」「適当にやったらできた」が最後まで通用するのは当にすごいと思う。 発表者の中にはわりと初心者っぽい人もいたけど、中には「あー、この人のレベルじゃEthnaはたぶん使えないだろうな」というのが見えた。というか、「PEARって何?」とかいいだしそうな雰囲気があったね。 とにかく導入への敷居がめちゃめちゃ低い。 あくまで予想だけど、結構熟練のbakerの人でも内部コード全然読んでなさそうな人がいる事をしって驚いた。それであんまりハマらないんだもんなー。 自分なんかデスクトップがLinuxだったり、すべての作業をターミナルで行えるようにしてたりするので「CLIよくわかんない?だったらプログラミングすんなよ…」とか0.1secだけ思ったりしてしまうし、実際E

    この先生きのこるには
  • qwik.jp - qwik リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • qwik.jp - qwik リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • Manpage of TCP

    Section: Linux Programmer's Manual (7) Updated: 2008-08-08 Index JM Home Page roff page 名前 tcp - TCP プロトコル 書式 #include <sys/socket.h> #include <netinet/in.h> #include <netinet/tcp.h> tcp_socket = socket(AF_INET, SOCK_STREAM, 0); 説明 これは RFC 793, RFC 1122, RFC 2001 で定義されている TCP プロトコルを NewReno 拡張と SACK 拡張を含めて実装したものである。 TCP は、 ip(7) 上の二つのソケット間に、信頼性の高い、ストリーム指向の全二重 (full-duplex) 通信を提供する。 v4 と v6 の両方のバージ

    kamipo
    kamipo 2009/02/13
    sendfile() を使って TCP ソケットにファイルを送ろうとしていて、ファイルの内容の前にヘッダ・データを付け加える必要がある場合は、パケット数を最小にして性能を上げるために TCP_CORK オプションを使うといいだろう。
  • http://unix-study.com/weblog+details.blog_id+83.htm

    kamipo
    kamipo 2009/02/13
    echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
  • mytopの使い方|株式会社 フラッツ

    谷口です。 今回は私がmysqlの運用時に重宝しているmytopというツールの紹介をしたいと思います。 ご存知の方も多いと思いますが、mytopはunixのtopコマンドのような感覚でmysqldの実行状況を監視できる、Perlスクリプトです。 基的には show status と show full processlist を発行し、取得した情報から統計情報などを算出して表示しています。 (モード切替によって、発行するmysqlコマンドは変化します。) 使いどころとしましては、以下のような場合に有効かと思います。 logを解析するのが面倒。 デッドロックやブロッキングが起きていないか検出したい。 現在何か問題が起こっていそうなので、すぐに調べたい。 インストール方法や動作環境などは、mytopのページを参照していただくとしまして、記事では簡単に使い方を記します。 まず、実行中の

  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • 1CD LinuxをUSBメモリから起動するには ― @IT

    1CD Linuxは、PCのメンテナンスやLinuxの体験版として広く使われているが、持ち運ぶとなると意外とかさばってしまう。そこで、代表的な1CD LinuxであるKNOPPIX(CD版)の日語版を1GbytesのUSBメモリにコピーして、そこから起動する方法を紹介する。 まず、SYSLINUXというブートローダをhttp://syslinux.zytor.com/からダウンロードする。SYSLINUXは、フロッピーメディア用として開発されたブートローダだが、USBメモリにもインストール可能だ。今回は、Windows用のSYSLINUXをダウンロードして、作業をWindows XP上で行うことにする。 Windows用のSYSLINUXは、ZIP形式の圧縮ファイルとなっている。原稿執筆時点での最新版は、syslinux-3.36.zipだ。ダウンロードしたら、このファイルを展開する。

  • http://www.res-system.com/weblog/item/582

    kamipo
    kamipo 2009/02/13
    skip-name-resolve
  • MySQL-Too many connectionsエラー(2)|珈琲片手に。

    珈琲片手に。ど忘れ対策・プログラムメモとゲームとつぶやき。MySQL-Too many connectionsエラー(2) どうもmax_connectionsの値を増やしても、エラーが出る周期が伸びただけに過ぎない。 ということで抜的解決に至らず。 更に調べたところ、以下のような事例が判明。 MySQLコンソールにてSHOW PROCESSLIST;実行。 unauthenticated userの大量発生を確認。 発生要因を調べてみると、MySQLDNS逆引きを行うのが原因らしい。 MySQL自体はローカルでしか使用していない為、 この機能を無効にしてやることで対応。 というこで、my.cnfに以下の記述をして対処。 [mysqld] skip-name-resolve

    kamipo
    kamipo 2009/02/13
    skip-name-resolve
  • 複合UNIQUEキーでも「INSERT ... ON DUPLICATE KEY UPDATE」構文は使える - 岩本隆史の日記帳(アーカイブ)

    MySQLには「INSERT ... ON DUPLICATE KEY UPDATE」という便利な構文がある。INSERTの内容がUNIQUE制約に引っかかる場合に指定カラムの値をUPDATEしてくれるものだ。 この構文について「複合UNIQUEキーの場合には使えない」とする記事を見た。 注意点としては、複合UNIQUEキーを指定しているテーブルでは(column2とcolumn1の組でUNIQUEなど)、 UPDATE文が複数レコードにマッチする可能性がありますので、UNIQUEキー制約が単一カラムにしかないテーブルでのみ使用します。内部的に実行されるUPDATE文のWHERE節がUNIQUEキーのORで判定するためです。(WHERE column1=’’ OR column2=’’)複合UNIQUEキー制約があるテーブルに対しては、次のREPLACE構文が使えます。 http://ww

    複合UNIQUEキーでも「INSERT ... ON DUPLICATE KEY UPDATE」構文は使える - 岩本隆史の日記帳(アーカイブ)
    kamipo
    kamipo 2009/02/13
  • 最新のFedoraとUbuntuではrelatimeもnoatimeもいらない? - 科学と非科学の迷宮

    (2008/6/14 13:35 追記) 続き書きました http://d.hatena.ne.jp/shiumachi/20080614/1213415948 要約 前回の検証で、マウントオプションに noatime や relatime をつけても オプションなしのときと性能が変わらないという結果を報告しました*1。*2 しかし、調査の結果、Fedora8、Fedora9、Ubuntu8.04 LTS などでは カーネルのコンパイルオプションに default_relatime がついていることが 判明しました。 そのため、各ファイルシステムに noatime や relatime オプションを つける必要はなくなっています。 relatimeについての調査 relatime マウントオプションについて調査していたところ、 LWN.netに atime 周りの議論のまとめ記事が掲載され

    最新のFedoraとUbuntuではrelatimeもnoatimeもいらない? - 科学と非科学の迷宮
  • MySQLの状態がリアルタイムでわかるMySQL用topコマンド「mytop」と「innotop」

    サーバのチューニングをする上でかなりやっかいなのがデータベース系。特にログファイルの量が膨大になると後から中身を見て問題を分析するのも一苦労という場合が。そんなときにこのMySQLtopコマンド「mytop」を使えば一体何が起きているのかがすぐにわかるので問題点の把握が容易になります。ベンチマークするときに併用すればかなり効率が良くなるのではないかと。 インストールと使い方は以下の通り。 まずは「mytop」から。以下が公式サイト。 mytop - a top clone for MySQL http://jeremy.zawodny.com/mysql/mytop/ マニュアルは以下にあります。 mytop - display MySQL server performance info like `top' インストールするにはSSHなどを使ってrootでログイン後、wgetでファイル

    MySQLの状態がリアルタイムでわかるMySQL用topコマンド「mytop」と「innotop」
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    kamipo
    kamipo 2009/02/13
  • perl,javascript and more - evalは最後の武器 : 404 Blog Not Found

    2009年02月08日01:00 カテゴリLightweight Languages perl,javascript and more - evalは最後の武器 うーん、そうなのだけど.... メタプログラミングとは - Perl入門〜サンプルコードによるPerl入門〜 メタプログラミングとはソースコードを生成するプログラミングのことです。メタプログラミングによって生成したソースコードは、eval関数で実行することができます。 evalだけがメタプログラミングの技法ではないし、またevalはその威力ゆえ最後の選択肢とすべきだ。 #!/usr/local/bin/perl use strict; use warnings; use Benchmark qw/timethese cmpthese/; cmpthese( timethese( 0, { eval => sub { no warn

    perl,javascript and more - evalは最後の武器 : 404 Blog Not Found
  • Scalar::Util の weaken() - daily dayflower

    Shibuya.pm #9 での id:lestrrat さんの発表 での質疑応答において id:dankogai 氏 weak references の実装はどのようになっていますか? id:lestrrat 氏 あー準備してくるの忘れました。Scalar::Util の Util.xs を見てください :) というやりとりがありました。その時*1は weak reference の参照先の REFCNT を decrement している「だけ」じゃないの? と(あさはかにも)思ったんですが,実装を調べてみました。実際には「それだけ」ではありませんでした,と。 以下 REFCNT とか MAGIC とかでてくるんで,前提条件として Shibuya.pm #9 での :lestrrat さんの発表(Perl 5 internals の世界にようこそ - daisuke maki)必聴です。

    Scalar::Util の weaken() - daily dayflower
  • へぼへぼCTO日記 - libmysqlclientを使うプログラムはset namesをutf8であっても使ってはいけない

    mysql_enable_utf8 => 1 で DBIC::UTF8Columns 要らなくなるっぽいComments 上記の記事のブクマに set namesを直接実行しちゃうのはutf8であってもコンパイルオプションによっては問題起こるのでお勧めできない http://b.hatena.ne.jp/nihen/20090204#bookmark-11950629 ってことを書かせてもらったんだけど、この最後のset namesはutf8でも使っちゃダメという話を軽く説明します。 まずは、基的なことはMySQL5開拓団 - 日語処理の鉄則 / KLab株式会社を読んでください。mysqlの日語処理についてのドキュメントとしては、私は今一番信頼できるドキュメントだと思っています。 さて、上記のページのを、勝手ながらすべて引用させていただくことにする。(手抜きもいいところだな) ■

    kamipo
    kamipo 2009/02/13
    mysql_options()は直接は使えないが、上記で話題にあがったmysql_enable_utf8を使うとmysql_optionsでMYSQL_SET_CHARSET_NAMEが設定できる。
  • MySQL+Java でサーバサイドプリペアードステートメントを使うべきで「ない」理由 - kazuhoのメモ置き場

    useServerPrepStmtsのここの説明ではデフォルトがtrueになっているが、これは上述の通り嘘である。 (中略) そしてなぜfalseにされたかということの背景を察すると、trueにすることの弊害もありそうで、手放しでこれをtrueにすることを勧めることが少しはばかられる。 http://www.geminium.com/chiba_blog/2008/12/23/33/ 自分は Java 使ってないですが、MySQL の中の人が使うなって言ってます *1。その理由はメモリリークのような症状が出る可能性があるから。 So why are prepared statements a problem? Because users do not clean up/close unused prepared statements. Multiply the number of prep

    MySQL+Java でサーバサイドプリペアードステートメントを使うべきで「ない」理由 - kazuhoのメモ置き場
    kamipo
    kamipo 2009/02/13
    パフォーマンスの観点から言っても MySQL のサーバーサイドプリペアードステートメントは実行プランのキャッシュがなかったりと、採るべき理由が少ない
  • 「ループは -1 まで回せ」 - kazuhoのメモ置き場

    元の話題は int vs size_t problem のあたり。符号なし型の減算ループをどう書くかという話。 実は、一定数までカウントアップするよりも 0 を通り過ぎるまでカウントダウンする方が速度とコードサイズの両面で良い、ってのは最適化の定石だと思ってました。特にアセンブリレベルでは。 自分が使ってた 68000 だと、ずばり、「レジスタの値をデクリメントして -1 じゃなければジャンプ」という DBRA 命令がある (しかも速い) し、x86 でも、 loop: ... subl $1, %esi jns loopみたいな形で、カウンタが符号なし型であっても高速なループが書けるんじゃないかと。 でもそういえば Metrowerks のコンパイラはこの最適化をしてくれなかったような気がするけど GCC (4.0.1 (Apple Inc. build 5465)) だとどうなんだろと

    「ループは -1 まで回せ」 - kazuhoのメモ置き場
  • Re はやいTCPサーバの書き方 - kazuhoのメモ置き場

    はやいTCPサーバの書き方 - nyaxtのPC作業ログ について、いくつか気になった点があったので。 Nagleアルゴリズムは、相手側のACK送信をまとめてくれるものです。これは、下記の様にアプリケーション側でパケットを意識した処理を行っている場合、邪魔になることがあります。 違うと思います。自分の理解では、Nagle アルゴリズムは、ACK を受信していないデータがある場合に、次のパケットを送信しない、というものです。RFC896 から引用すると、 The solution is to inhibit the sending of new TCP segments when new outgoing data arrives from the user if any previously transmitted data on the connection remains unackn

    Re はやいTCPサーバの書き方 - kazuhoのメモ置き場
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2007/09/mysql_async.php

    kamipo
    kamipo 2009/02/13
    このパッチを適用すれば、MySQL へ非同期にアクセスできるようになります。また、クエリの実行が完了したかを知りたい場合は、response_is_ready(0.1) のようにタイムアウト値をセットして呼び出すこともできます。
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2007/02/keeping_comet_alive.php

  • はやいTCPサーバを書く際に忘れがちなこと - kazuhoのメモ置き場

    はやいTCPサーバの書き方 - nyaxtのPC作業ログ で id:nyaxt さんが書いてらっしゃるように、 epoll や kqueue を使う TCP_NODELAY, TCP_DEFER_ACCEPT *1 等を活用する TCP パケットを意識する I/O システムコールの回数を最小にする sendfile といったあたりは、確実にやるべきことだと思います。一方で、TCP 関連以外のオーバーヘッドが実は結構あって、 接続のタイムアウト処理 ログの出力 メモリの確保や解放をやらない あたりにも気を配る必要がある、と思います。 接続のタイムアウト処理については、以前 Kazuho@Cybozu Labs: 高速なCometサーバを書いてみた件 に書いたように、ビットアレイのリングバッファを使うのがベストだと思います。 ログの出力について、複数行を1回のシステムコールにまとめてもいいかど

    はやいTCPサーバを書く際に忘れがちなこと - kazuhoのメモ置き場