Archives
Recent Entries
Search


Links
Powered by
Movable Type 2.64

2006年03月25日

RAIDで読んだり書いたり

RAIDで読んだり書いたりヽ(´ー`)ノyear
[root@FS1 ~]# time dd if=/mnt/md2/nbd/ak1.nbd of=/mnt/md4/nfs/ak1.nbd bs=1M
10240+0 records in
10240+0 records out

real    3m14.281s
user    0m0.036s
sys     1m1.980s
3玉RAID5から 4玉RAID0へローカルで読み書き10GB(10*1024^3)
55.2MB/secですか貧乏RAIDにしては(;´Д`)かなり速いんじゃないかねえ
ちなみに書込み先のRAID0へ /dev/zeroからなら
[root@FS1 ~]# time dd if=/dev/zero of=/mnt/md4/nfs/aikenn3.nbd bs=1M count=10240
10240+0 records in
10240+0 records out

real    0m59.078s
user    0m0.044s
sys     0m41.355s
[root@FS1 ~]# time dd if=/dev/zero of=/mnt/md5/nfs/ak3.nbd bs=1M count=10240
10240+0 records in
10240+0 records out

real    3m3.873s
user    0m0.044s
sys     0m39.758s
と約 181MB/secくらい書き込みでも出てますが、同じ4玉を使ったRAID5だと その約1/3です。sata_silじゃなくて chipsetが内蔵している sata_nvに4玉つないだ場合も計測したいところ…
それは次回のメンテナンス時にヽ(´ー`)ノ
ココから先の速度は大人の領域とおもうので、promiseかarecaあたりのPCIe板も輸入予定ではあります。
Posted by minemaz at 08:26 | Comments (0) | TrackBack

2006年03月24日

4玉でRAID0, RAID5

HDD仕入れてRAID組んだりヽ(´ー`)ノRAID
[root@FS1 DriverInstall]# hdparm -ft /dev/sdd

/dev/sdd:
 Timing buffered disk reads:  184 MB in  3.00 seconds =  61.33 MB/sec
[root@FS1 DriverInstall]# hdparm -ft /dev/md4

/dev/md4:
 Timing buffered disk reads:  566 MB in  3.00 seconds = 188.40 MB/sec
[root@FS1 DriverInstall]# hdparm -ft /dev/md5

/dev/md5:
 Timing buffered disk reads:  426 MB in  3.01 seconds = 141.43 MB/sec
[root@FS1 DriverInstall]#
PCIe x1に接続した sata_sil、sil3132 2本に2本ずつ接続して 素とRAID0と5でhdparm。
これでどのくらい出るようになるかはマダマダ調査してませんが
eth1: SK-9E22 10/100/1000Base-T Dual Port Server Adapter
      PrefPort:A  RlmtMode:Check Link State
eth2: SK-9E22 10/100/1000Base-T Dual Port Server Adapter
      PrefPort:B  RlmtMode:Dual Check Link State
PCIe x4な GbEとあわせてどのくらいいけるか確かめたいところヽ(´ー`)ノ
Posted by minemaz at 10:54 | Comments (0) | TrackBack

2006年03月23日

sendmail 8.13.6リリース

sendmail(´ー`)アプデート必要
http://www.sendmail.com/company/advisory/index.shtml
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0058

詳細は ** RESERVED ** ですね(;´Д`)patch眺めてると 何となくこの辺りかなーってのが見えますが。
何はともあれ兎に角入替えろということで。

Posted by minemaz at 03:08 | Comments (0) | TrackBack

2006年03月06日

戦闘中

戦闘中のヒトコマヽ(´ー`)ノyeah
DSCF0324.JPG

こんな生活できるのはあと何年くらいだろうねヽ(´ー`)ノ

Posted by minemaz at 00:32 | Comments (2) | TrackBack

2006年03月05日

igmpてuClinuxなH8じゃ要らんだろー

てことでigmpがどのくらいどういう感じで流れてるか監視(´ー`)tcpdump
ちょっとだけ流れてるのを確認(;´Д`)
[root@ns2 root]# tcpdump -i br0 igmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br0, link-type EN10MB (Ethernet), capture size 96 bytes
20:18:27.106738 IP 192.168.25.108 > 224.0.0.251: igmp v2 report 224.0.0.251
20:35:58.102648 IP 192.168.25.108 > ALL-ROUTERS.MCAST.NET: igmp leave 224.0.0.251
20:36:12.592447 IP 192.168.25.108 > 224.0.0.251: igmp v2 report 224.0.0.251
朝から眺めててこの1件だけだったりするし、uClinux/H8でigmpは要らないだろ~ということで、kernelのソースからの削除作業にいつか挑戦したいところ。少なくとも20kbくらいは小さくなりそうだし(´ー`)。しかし結構 IPv4のkernel中に根深く(ip_mc_* な関数として)埋まっているので単純にリンクしないようにするだけでは外せないのが辛いところ。
少なくとも今週はやたらと忙しいので、この手の作業はしばらくお休みせざるを得ないのでした…(;´Д`)
Posted by minemaz at 20:55 | Comments (1) | TrackBack

2006年03月04日

PostgreSQLでpgpoolで敗北

某所にてMS_Access用に PostgreSQLで稼動してる箱にpgpool投入ヽ(´ー`)ノ二重化

ということで、pgpoolを安全側に倒して入れてみたんですが、SEQUENCE多用してたり ODBCドライバの先にあるし…で pgpoolの運用は極度に安全側に倒してインストール(;´Д`)。案の定ですが「今日は重い!(゚Д゚)」「凄く時間がかかって(゚Д゚)ストレスですね」と不評バンバン(;´Д`)
ある程度予想はしてたんですが、こちらで書いてないプログラムで処理時間3秒~5秒かかってたのが7秒~10秒程度かかるようになってしまったらしく我慢できるトコできないトコの境界を超えてしまったらしく敗北。元に戻して対策を練ることに…こちらで書いてないプログラムなので流されてるSQLみてindex追加かPostgreSQL自体の最適化くらいしか手が無いかもしれず。

ODBCの向こう側でSQL生成されててコントロールしにくい箇所も多数あるシステムだし、クライアント数も40台くらいが同時アクセスと結構マトモな業務系で、サーバのloadavgも そろそろ1.00超えそうな危険水域だったので取りあえず元の状態に戻して・・・と後ろ向き(;´Д`)

SQLのチューニングを更に全体的に入れていけばloadavgも小さめに押さえることも出来て、応答時間も速くなるだろうからこの方向で進めるしかないかなあ…と考えつつ mrtg入れて通常業務時の負荷ログ取ることにして撤退(;´Д`)リベンジ予定

あと、pgpoolで接続してる2台のDBの片方のPostgreSQLのプロセスをkillall(pgpoolが接続してるので pg_ctlでは落ちない)かけたところ pgpoolがクライアントとの接続を一旦きってしまったらしく、各所でODBCドライバのエラーがバリバリ発生して苦情バンバン(;´Д`)電話が鳴りまくり。このへん設定で色々可能かもしれないので、まあコレも含めて差戻し再検討になったりして(;´Д`)敗走

もう一つの解としては、SEQとか使用している箇所についてだけSELECT時二重化…ですな。こっちだと逆に検索時の負荷分散も可能だし。ということで、まだまだこの話は続くのです(´ー`)

Posted by minemaz at 13:36 | Comments (0) | TrackBack

2006年03月03日

更に小さく uClinux/H8

更に小さくするために機能を削ることに ケズル(´ー`)バリバリバリ
 ls -lR |grep '.o$'|sort -n --key=5
等で適当に *.oのサイズと名前を眺めつつ、これなくても大丈夫じゃないの?というのを削り落とし。で procfsステ(;´Д`)。procfsとかオイラが小学校入った頃には無かったと思うし、今の小学生は過保護で遺憾…というわけでもないんですが、ioctl叩いたり kernel直覗きで拾えるならイランだろ~どうせ psも netstatも入れないんだし(予定)…とか。
多少は net/ipv4/route.c に patchを当てる必要はありましたが取りあえず compileは通ったり
-rwxr-xr-x  1 root root 1073382 Mar  2 22:53 linux
-rwxr-xr-x  1 root root  679440 Mar  2 22:53 linux.bin
さっきより30KB程度小さくなったかなヽ(´ー`)ノ他にも igmp.oとか要らなさそうなのが在るのでコレも追い出し予定。贅沢は敵(´ー`)なのです。
Posted by minemaz at 13:01 | Comments (0) | TrackBack

続・gcc4で小さくなった訳(´ー`)

ちょっと調査をgoogleさんに任せていろいろ(´ー`)大体理解
http://lkml.org/lkml/2006/1/6/328 など見つつはあなるほど…(´ー`)2.4.xだと linux/compiler.hのようですね。
#if __GNUC__ == 3
#if __GNUC_MINOR__ >= 1
# define inline         __inline__ __attribute__((always_inline))
# define __inline__     __inline__ __attribute__((always_inline))
# define __inline       __inline__ __attribute__((always_inline))
#endif
#elif __GNUC__ == 4
# define inline         __inline__ __attribute__((always_inline))
# define __inline__     __inline__ __attribute__((always_inline))
# define __inline       __inline__ __attribute__((always_inline))
#endif
と書き換えて対応。元は __GNUC__ == 3 だけの記述だったので抜け落ちたようです。もちろんinlineじゃなくて大丈夫~ だとベターなんですが(-Osの場合)。
でこの書換えで gcc4でのバイナリサイズはどうなったかというと
-rwxr-xr-x  1 root root 1133688 Mar  2 20:59 linux
-rwxr-xr-x  1 root root  713656 Mar  2 20:59 linux.bin
あんまり小さくなってないねえ(;´Д`)約9KB減、約1.3%くらいですかね
まあそれでも、大変ありがたいことです。小さいことはヽ(´ー`)ノいいことなのです
Posted by minemaz at 11:39 | Comments (0) | TrackBack

2006年03月02日

gcc4で小さくなった訳(;´Д`)

gcc4革命的に小さいバイナリが吐けたが…(;´Д`)後日談(といっても当日だけど)

linux kernelソース中 include/asm/unistd.h ですが

static inline _syscall1(int,dup,int,fd)

上記行があります、でこの行の数行上には
#ifdef __KERNEL_SYSCALLS__

/*
 * we need this inline - forking from kernel space will result
 * in NO COPY ON WRITE (!!!), until an execve is executed. This
 * is no problem, but for the stack. This is handled by not letting
 * main() use the stack at all after fork(). Thus, no function
 * calls - which means inline code for fork too, as otherwise we
 * would use the stack upon exit from 'fork()'.
 *
 * Actually only pause and fork are needed inline, so that there
 * won't be any messing with the stack from main(), but we define
 * some others too.
 */
と書いてるわけなんですよね。で、上記dupの件発見したのは gcc-3.4.5と gcc-4.0.2で吐かれた init/main.c のバイナリを objdump -D して眺めていたのが元です(;´Д`) あれ?こっち(3.4.5)は dupをインラインで吐いてるけどこっち(4.0.2)はサブルーチン化してる~ 賢いな 4.0.2トカ(;´Д`)
dup自体は init/do_mounts.c でも使ってるわけで、こちらを objdumpした結果には dup自体は見当たらないので さっくり inline指定を無視してくれていたようです>4.0.2

ということで、戦いは続く…ヽ(´ー`)ノ
Posted by minemaz at 21:47 | Comments (0) | TrackBack

gcc-3.4.5と gcc-4.0.2

gcc-3.4.5と gcc-4.0.2で出来た kernelサイズ比べてみたり(´ー`)
gcc-4.0.2
[root@FS1 linux-2.4.32]# ls -l linux linux.bin
-rwxr-xr-x  1 root root 1070537 Mar  1 22:08 linux
-rwxr-xr-x  1 root root  663768 Mar  1 22:08 linux.bin

gcc-3.4.5
[root@FS1 linux-2.4.32]# ls -l linux linux.bin
-rwxr-xr-x  1 root root 1134600 Mar  2 03:57 linux
-rwxr-xr-x  1 root root  722568 Mar  2 03:57 linux.bin
圧倒的じゃないか(;´Д`)
あとは、gcc-4.0.2で作った h8300-linux-elfなバイナリが本当に動作するかどうか…ですね(´ー`)これで動作するところまで持っていければ、作業したかいがあるという物です。また野望に近づいたかもわからんねヽ(´ー`)ノ
Posted by minemaz at 18:03 | Comments (0) | TrackBack

2006年03月01日

googleで検索してからコメントspam

googleで検索してから コメントspamがくるので ハジク(´ー`)バリバリバリ
[root@ns root]# grep archives/000296.html /var/log/httpd/www.lancard.com-access_log.20060301
85.255.113.183 - - [01/Mar/2006:00:07:08 +0900] "GET /archives/000296.html HTTP/1.1" 200 12989 "http://www.google.com/search?hl=en&q=inurl%3A%22archives%2F000296%2Ehtml%22&hl=en&lr=en&start=google_page&num=100&sa=N&filter=0" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.183 - - [01/Mar/2006:00:07:09 +0900] "POST /mt/mt-comments.cgi HTTP/1.1" 200 9161 "http://www.lancard.com/archives/000296.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.183 - - [01/Mar/2006:00:07:11 +0900] "GET /archives/000296.html HTTP/1.1" 200 12989 "http://www.lancard.com/archives/000296.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.182 - - [01/Mar/2006:00:22:02 +0900] "GET /archives/000296.html HTTP/1.1" 200 12989 "http://www.google.com/search?hl=en&q=inurl%3A%22archives%2F000296%2Ehtml%22&hl=en&lr=en&start=google_page&num=100&sa=N&filter=0" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.182 - - [01/Mar/2006:00:22:03 +0900] "POST /mt/mt-comments.cgi HTTP/1.1" 200 9503 "http://www.lancard.com/archives/000296.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.182 - - [01/Mar/2006:00:22:05 +0900] "GET /archives/000296.html HTTP/1.1" 200 12989 "http://www.lancard.com/archives/000296.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.189 - - [01/Mar/2006:00:35:50 +0900] "GET /archives/000296.html HTTP/1.1" 200 12989 "http://www.google.com/search?hl=en&q=inurl%3A%22archives%2F000296%2Ehtml%22&hl=en&lr=en&start=google_page&num=100&sa=N&filter=0" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.189 - - [01/Mar/2006:00:35:51 +0900] "POST /mt/mt-comments.cgi HTTP/1.1" 200 9635 "http://www.lancard.com/archives/000296.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.189 - - [01/Mar/2006:00:35:53 +0900] "GET /archives/000296.html HTTP/1.1" 200 12989 "http://www.lancard.com/archives/000296.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.182 - - [01/Mar/2006:00:49:22 +0900] "GET /archives/000296.html HTTP/1.1" 200 12989 "http://www.google.com/search?hl=en&q=inurl%3A%22archives%2F000296%2Ehtml%22&hl=en&lr=en&start=google_page&num=100&sa=N&filter=0" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.182 - - [01/Mar/2006:00:49:23 +0900] "POST /mt/mt-comments.cgi HTTP/1.1" 200 9564 "http://www.lancard.com/archives/000296.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.182 - - [01/Mar/2006:00:49:25 +0900] "GET /archives/000296.html HTTP/1.1" 200 12989 "http://www.lancard.com/archives/000296.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.183 - - [01/Mar/2006:01:03:41 +0900] "GET /archives/000296.html HTTP/1.1" 200 12989 "http://www.google.com/search?hl=en&q=inurl%3A%22archives%2F000296%2Ehtml%22&hl=en&lr=en&start=google_page&num=100&sa=N&filter=0" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.183 - - [01/Mar/2006:01:03:41 +0900] "POST /mt/mt-comments.cgi HTTP/1.1" 200 9310 "http://www.lancard.com/archives/000296.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
85.255.113.183 - - [01/Mar/2006:01:03:43 +0900] "GET /archives/000296.html HTTP/1.1" 200 12989 "http://www.lancard.com/archives/000296.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)"
checkbox追加したり、ACCEPT_LANGUAGEで絞ったりしてるのでコメントspamについては命中率はほぼ0なんですが、spammerの巣として検出されたIPアドレスは弾きリスト行き(´ー`)
Posted by minemaz at 16:02 | Comments (0) | TrackBack