Archive for 2月, 2012

macの入力変換について

火曜日, 2月 7th, 2012

winからの乗り換えで地味にはまってイライラしていたのが変換ショートカットです。

winではF6 F7 F8 F10 はそれぞれ、かな入力時に「ひらがな」「カタカナ」「半角カナ」「半角英数」へ変換できるショートカットキーです。

macに乗り換えて上記機能がどこに割り当てられているか分からずにストレスが溜まっていました。

 

ctrl+j ひらがな

ctrl+k カタカナ

ctrl+l 全角英数

ctrl+a 半角英数

スッキリ

 

libmysqlを利用したコンパイルについて

水曜日, 2月 1st, 2012

PHPなどでmysqlを組み込むときに、libmysqlclientが必要になります。

mysqlをRPM、PHPをソースで入れた場合などに入れたはずのライブラリが見つからないことがあります。

いくつかの対応方法をあげておきます。

・ ln -s /usr/lib64/libmysqlclient.so /usr/lib64/mysql/libmysqlclient.so

・これはライブラリをサーチするパス上にないときにリンクを貼る方法

・echo “/usr/hoge/foo” >> /etc/ld.so.conf ; ldconfig

・特定のディレクトリにインストールした、必要なライブラリがシステムに認識されていない時に、実行します。

・32bit環境で構築していたミドルウェアを、64bitで動かすときには–with-libdir=lib64 などの、コンパイルオプションもあります。

 

またハマッタ。こんなメモ書きもしてました。

#ライブラリのパスがphpが探すところと違う(MySQLをソースから入れた場合)

#そのためヘッダファイルやライブラリファイルのシンボリックリンクを貼らないと動かない。

ln -s /usr/local/mysql/lib /usr/local/mysql/lib64ln -s /usr/local/mysql/include/mysql/mysql.h /usr/local/mysql/include/mysql.hln -s /usr/local/mysql/lib/mysql/libmysqlclient.so /usr/local/mysql/lib/libmysqlclient.soln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.12 /usr/local/mysql/lib/libmysqlclient.so.12

また、makeのときのエラーの対処でこんなこともしていました。
make ZEND_EXTRA_LIBS=’-liconv’

mysql5.5のパッケージを本家から落としてきて、phpはソースから入れたときの対処は以下。

ln -s  /usr/lib64/libmysqlclient.so.16.0.0 /usr/lib64/libmysqlclient.so

libmysqlqlient.soファイルがデフォでは作られないのかしら。

シンボリックリンクでも、cpでもいいと思います。

 

SYN Floodについて

水曜日, 2月 1st, 2012

公開するのを忘れて数カ月経ってました。

 

たまにきますね。

対応内容をメモしておきます。

コネクションが詰まってしまうのが原因なので、デフォルトのカーネルパラメータだと太刀打ちできません。

また、過剰なアクセスがくるとiptablesで参照するip_conntrack_tableというものがいっぱいになり、正常なアクセスまでもDROPしてしまうようになります。これはLVSの設定周りでも書きました。ロードバランサーはCPU負荷などはありませんが、数十台のフロントでパケットを受けるので、通常のカーネルパラメータでは捌けなくなるのです。

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_recv

/proc/sys/net/ipv4/tcp_synack_retries

上の設定はsyn_ackを返すまでのタイムアウト値ですね。

下はリトライ回数です。即ち、デフォルトで60秒×5回で最大300秒はコネクションが解放されません。

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait

cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max

cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait