weblog of key_amb

主にIT関連の技術メモ

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

Memcachedのbacklog設定

KVS

memcachedは-bオプションでbacklogの数(接続キューの上限数)を指定することができる。 ただし、この値がLinuxのカーネルパラメータ net.core.somaxconn よりも大きいと、暗黙の内にこの値に切り詰められてしまうので、注意が必要。この値のデフォルト値は128…

LighttpdでのKeepAlive Off設定

大型サイトを運営していると、keep-aliveが邪魔なことがある。 Lighttpdでkeep-aliveに関係する設定は次の3項目である。 設定項目 説明 server.max-keep-alive-requests keep-aliveなリクエストを1コネクションあたりいくつ受け付けるか server.max-keep-ali…

HTTP/1.1とkeep-alive

TCP通信におけるコネクションの確立や開放にはそこそこコストがかかる。 HTTP/1.0ではリクエスト/レスポンスごとにTCP接続が行われるので、多くの要素からなるHTMLページをダウンロードする際には、これがかなりのオーバーヘッドになる。 HTTP/1.1ではこれが…

Apache Shindig の lockedDomain 機能

lockedDomain機能は、Shindigがサーブする各アプリケーションに対して、固有のドメインを生成する機構のようだ。container.jsで以下のように設定するらしい。 "gadgets.lockedDomainRequired" : true, "gadgets.lockedDomainSuffix" : ".gadget.example.com"…

ssh-copy-id コマンド

sshの公開鍵認証で使う公開鍵をサーバー側にコピーするのに使う。 ssh-keygen -t dsa ssh-copy-id -i .ssh/id_dsa.pub <username>@<remoteserver>これだけで、鍵をの.ssh/authrized_keysに追記したり、必要なパーミッションの設定をやってくれたりするらしい。 参考 ssh-copy-id - な</remoteserver></username>…

DNSのTTLとその設定

DNS

DNSサーバにはキャッシュ機構があり、一度問い合わせた名前に対する結果を一定時間キャッシュする。 この有効時間が「TTL」である。 DNSレコードを更新しても、各ネットワークのDNSサーバが個々にキャッシュした結果を持っていることがあるので、変更はすぐ…

(メモ) lsコマンド

よく使うオプションとかのメモ。 オプション オプション 意味 -t タイムスタンプで降順ソート -S ファイルサイズで降順ソート -r ソート順序を逆にする --full-time タイムスタンプを詳細表示 使い方 ls -ltr /path # たくさんファイルがあるところで、最後…

Linuxカーネルパラメータあれこれ

カーネルパラメータは /proc/sys 以下のファイルの値である。 この記事では、筆者が目にしたものをまとめていく。 パス 意味 例 net.ipv4.ip_local_port_range ローカルポートの範囲 "32768 61000" net.ipv4.tcp_syncookies SYN FLOODを防ぐ。Syncookieがカ…

Q4MのバージョンをSQLで確認する方法

select PLUGIN_VERSION from information_schema.plugins where plugin_name='QUEUE'; 以上。 参考 Q4M のバージョンを SQL で確認する方法 - kazuhoのメモ置き場

ALTER EVENT ... ON SCHEDULE ... でEVENTのスケジュールを変更

ALTER EVENT ... ON SCHEDULE ... でイベントのスケジュールを変更することができる。 5分後にイベントを実行する ALTER EVENT event_hoge ON SCHEDULE AT current_timestamp + INTERVAL 5 MINUTE; 毎月1回に変更する ALTER EVENT event_hoge ON SCHEDULE EV…

rpmコマンドのよく使う使い方

** オプション * クエリーオプション(-q|-query) | オプション | 意味 | | -l, --list | パッケージ内のファイルをリスト化 | | -p, --package | 指定したパッケージを問い合わせ検査 | | -R, --requires | 指定したパッケージが依存しているパッケージを表…

GNU Parallelでコマンドをマルチプロセス実行

GNU Parallelというツールを使うと、コマンドを手軽に並列実行できるそうだ。 参考 Technical Memorandum: コマンドを手軽にマルチプロセス実行 GNU Parallel

シェルスクリプトの文法チェック

bashなどには文法チェックの機能がある。 /bin/bash -n bash.sh /bin/sh -n sh.shエラーがない場合は何も表示されない。 変数のタイプミスなどはエラーにならないので注意。 参考 @IT:シェルスクリプトの文法チェックを行うには

(メモ) dfコマンド

例によってよく使うオプションなどをまとめる。 オプション 意味 -h 読みやすい形式で出力 -T ファイルシステムの種類を表示 参考 @IT:マウントされているファイルシステムの種類を調べるには

yumコマンドの使い方

よく調べるので、ここにまとめる(予定)。 # インストール。-yをつけるとプロンプトを全部yesで進む yum [-y] install パッケージ名 # インストール済みパッケージ一覧 yum list installed # パッケージ検索 yum search パッケージ名 # アンインストール yum …

chattrコマンドでファイルの属性を変更する

chattrコマンドを使うと対象ファイルの属性を変更することができる。 使用例 chattr +ac ファイル '-R'オプションで再帰的にディレクトリ配下を処理することもできる。 属性一覧 自分が使ったことのあるものを中心に一部を紹介する。 属性 意味 a 書き込みの…

redis-cliの使い方

KVS

redis-cliはRedisのクライアントツールであり、コマンドラインから実行する。 redis-cli -h $host上記でRedisサーバに接続する。 keyのset/get redis-cli -h $host set $key $value redis-cli -h $host get $key モニタツール redis-cli -h $host infoと打つ…

中国では自分宛にメールが送信できない

中国のGreat FireWallの中では、Postfixで自分宛にメールを送ることができないらしい。 参考 Postfixで自分宛てにメールが送信できない問題: Computer Practice

(メモ) ps + grep 時にヘッダ行も表示する

ps aux | head -1 && ps aux | grep hoge # &&の代わりに;でもいい

ExcelでUnix Timestamp変換

データ処理をやっていると、ときどきExcelで日時 Unix Timestampを変換したくなることがある。 UNIXタイム => 日時 = ${Unix時間}/86400 + 25569 # UTC = (${Unix時間} + 32400)/86400 + 25569 # JST 日時 => UNIXタイム = (${UTC} - 25569) * 86400 = (${JS…

MySQLでストアドプロシージャを作ろう

いくつか簡単なプロシージャを作ってみる。 まず、テスト用のDBを作る。 create database hoge; use hoge create table hoge ( id int unsigned not null, name varchar(255) not null ); 1. insertプロシージャ プロシージャはCREATE PROCEDUREステートメン…

Macでsysstat

Linuxのsarとかそういうの。リソースのモニタツール。 まだ試してないので、よくわからない。sysstatの導入 - DragdropのMACな日々 とか見たらできるかもしれない。。

Linuxのメモリキャッシュクリア

freeコマンドなどで見るcached, buffersは空きメモリではあるのだが、パフォーマンスを上げるために確保されている。 kernel 2.6.16以降では、これをコマンドで解放できるようになったそうな。 echo {1〜3の値} > /proc/sys/vm/drop_cachesで解放できる。こ…

Lighttpdにおけるquerystringによるフィルタ設定

"check=on"みたいなクエリストリングが含まれていたら、特定の処理をしたい。 そんなときはこうする。 $HTTP["querystring"] =~ "check=on" { # 特定の処理 } 参考 Docs Configuration - Lighttpd - lighty labs

CNAMEについて

DNS

CNAMEと他のレコードを同時に設定すると、正しく名前解決できなくなる。 参考 livedoor Techブログ : CNAMEの間違った使い方

Apacheのリバースプロキシ設定

プロキシサーバからバックエンドのWebサーバに振り分ける設定。 例えば、プロキシサーバへ hogehoge.com というHost(HTTPヘッダ)でアクセスした際に、同じLAN内のサーバ web01 にプロキシするとする。 <VirtualHost *:80> ServerName hogehoge.com ProxyPass / http://web01/ P</virtualhost>…

svn sw で作業コピーの切替え

svn sw リポジトリURL [/path/to/working_copy]/path/to/working_copy省略時はカレントディレクトリのリポジトリURLが変わる。 切替え時にsvn updateが走るっぽい。 参考 個人的によく使う svn コマンドの使い方まとめ | バシャログ。

MySQLのクエリをtcpdumpで調べる

# tcpdump -l -i eth0 -A -n -s 0 dst port 3306 | grep SELECT 参考 MySQLのクエリをtcpdumpで調べる | guro_chanの日記

Postfixのインストール

MTA

筆者環境はCentOS 5系。 ふつうにrpmからインストール。 # yum install postfix初期設定としては、/etc/postfix/main.cfをいじる 項目 設定内容 myhostname メール送信元のホスト名 mynetworks 接続を許可するIP帯を書く 参考 はじめての自宅サーバ構築 - Fe…

MySQLのユーザー一覧の表示

use mysql select * from user; 現在どのユーザとして接続しているかは、 select user(); 参考 MySQLのインストールと管理メモ | Netsphere Laboratories