2007-06-27 :-)
_ ロディアのメモ帳
尽きたので次のメモ帳を補充しました。
_ 「なぜそんなにもWikiは重要なのか」(PDF)
( via 角谷さんのところ )
あう。
パターンランゲージじゃなくてパタンランゲージなんですね。
江渡浩一郎さんと言えば「qwikweb のひと」「Software Design の 『wiki つまみぐい』に名前があったひと」という認識しかありませんでした。オブジェクト倶楽部[ 2007-06-20 ]での講演では wiki と建築業界の話題がありました。ソフトウェアを作るときの「ビルド( build )」という言葉は建築業界を連想させます。
_ [zsh]指定したディレクトリ以下の Makefile 以外のファイルを削除する
zsh
% find /foo/bar/baz -type f | while read f; do if [ `basename $f` != "Makefile" ]; then rm $f fi done
ものすごく遅いです。basename が影響してるのかしら。ファイル名にマッチさせる部分は正規表現を使えそうな気がするのだけどよく分かりませんでした。
_ [NetBSD][httpd][アクセス拒否][Load Average]Load Average が高い
現象
こんな。
% top -d1
load averages:  2.72,  3.22,  3.60                                     19:44:11
55 processes:  54 sleeping, 1 on processor
CPU states:     % user,     % nice,     % system,     % interrupt,     % idle
Memory: 290M Act, 247M Inact, 4024K Wired, 12M Exec, 489M File, 211M Free
Swap: 128M Total, 128M Free
  PID USERNAME PRI NICE   SIZE   RES STATE      TIME   WCPU    CPU COMMAND
   17 root      18    0     0K  179M syncer    68:12  0.00%  0.00% [ioflush]
   18 root     -18    0     0K  179M aiodoned   3:31  0.00%  0.00% [aiodoned]
  199 root      18    0  1180K 3280K pause      2:16  0.00%  0.00% ntpd
 6994 www       -4    0  7924K 3120K semwait    1:00  0.00%  0.00% httpd
16192 www       -4    0    10M 3348K semwait    0:59  0.00%  0.00% httpd
19106 www       -4    0  7780K 5836K semwait    0:58  0.00%  0.00% httpd
  856 root       2    0  1124K 2060K select     0:55  0.00%  0.00% sendmail
16081 www        2    0  7120K 3004K poll       0:54  0.00%  0.00% httpd
21414 www       -4    0  7888K 7072K semwait    0:54  0.00%  0.00% httpd
24878 www       -4    0  7180K 6988K semwait    0:52  0.00%  0.00% httpd
 8777 www       -4    0  7828K 2988K semwait    0:52  0.00%  0.00% httpd
20441 www       -4    0  7220K 7064K semwait    0:51  0.00%  0.00% httpd
25835 www       -4    0  7808K 6964K semwait    0:51  0.00%  0.00% httpd
28749 www       -4    0  7228K 3008K semwait    0:50  0.00%  0.00% httpd
  860 root       2    0   300K  684K select     0:41  0.00%  0.00% sshd
18457 root       2    0  6148K 8044K select     0:12  0.00%  0.00% httpd
  407 root       2    0   188K  408K kqread     0:11  0.00%  0.00% syslogd
  317 tinydns    2    0   160K  236K netio      0:11  0.00%  0.00% tinydns
  173 root       2    0   192K  352K select     0:08  0.00%  0.00% master
  378 dnslog     2    0    60K  340K piperd     0:04  0.00%  0.00% logger
   16 root     -18    0     0K  179M pgdaemon   0:04  0.00%  0.00% [pagedaemon]
 1020 root      10    0   268K  416K nanoslee   0:03  0.00%  0.00% cron
 3512 rin        2    0  1116K 1372K select     0:02  0.00%  0.00% screen-4.0.3
22987 rin        3    0   788K  804K ttyin      0:01  0.00%  0.00% zsh
  224 postfix    2    0   228K  444K select     0:01  0.00%  0.00% qmgr
22939 rin       28    0   156K  872K CPU        0:00  0.00%  0.00% top
 5219 rin       18    0   492K 2124K pause      0:00  0.00%  0.00% zsh
26228 rin       18    0   500K 1776K pause      0:00  0.00%  0.00% zsh
19437 rin       18    0   436K 1224K pause      0:00  0.00%  0.00% screen-4.0.3
    2 root      14    0     0K  179M crypto_w   0:00  0.00%  0.00% [cryptoret]
結論
httpd の負荷が高いのかしら。先日設定したアドレス[ 2007-06-23 ]にアドレス範囲を指定してなかったので /usr/pkg/etc/httpd/deny-us.conf を用意して以下を書きました。しばらく様子を見てます。
<Limit GET POST> Order allow,deny Allow from all Deny from 67.159.0.0/18 Deny from 64.124.0.0/14 Deny from 208.36.0.0/15 </Limit> </Directory>
作業ログ
せっかくだから sysstat してみました。
ref. Chapter17.Tuning NetBSD - 17.3.2. The sysstat utility
% sysstat all
                    /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average   |||||||
                         /0   /10  /20  /30  /40  /50  /60  /70  /80  /90  /100
                  <idle> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/usr が多い?
% sysstat bufcache
                    /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average   ||||||||
    34715 metadata buffers using             118782 kBytes of memory (12%).
   125055 pages for cached file data using   500220 kBytes of memory (51%).
     3272 pages for executables using         13088 kBytes of memory ( 1%).
    52414 pages for anon (non-file) data     209656 kBytes of memory (21%).
    52962 free pages                         211848 kBytes of memory (21%).
File System          Bufs used   %   kB in use   %  Bufsize kB   %  Util %
/usr                     32181  92      101778  86      102076  86     100
/home                     2127   6       14598  12       14788  12      99
/var                       314   0        1264   1        1266   1     100
/                           92   0         634   1         636   1     100
Total:                   34714  99      118274 100      118766 100     100
んふ?
% sysstat iostat
                    /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average   |||||||
              /0   /10  /20  /30  /40  /50  /60  /70  /80  /90  /100
    CPU  user|
         nice|
       system|
    interrupt|X
         idle|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              /0   /10  /20  /30  /40  /50  /60  /70  /80  /90  /100
    md0  kBps|
          tps|
    wd0  kBps|X
          tps|
    cd0  kBps|
          tps|
http のアクセスが多いっす。
% sysstat netstat
                    /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average   ||||||
Local Address          Foreign Address        Proto Recv-Q Send-Q (state)
fe80:1::217:31ff.ntp   *.*                    udp6       0      0
localhost.ntp          *.*                    udp6       0      0
fe80:2::1.ntp          *.*                    udp6       0      0
localhost.smtp         *.*                    tcp6       0      0 LISTEN
hitomi.area51.gr.domain*.*                    udp        0      0
hitomi.area51.gr.ntp   *.*                    udp        0      0
localhost.ntp          *.*                    udp        0      0
localhost.smtp         *.*                    tcp        0      0 LISTEN
hitomi.area51.gr.ssh   sumire.area51.gr.1191  tcp        0      0 ESTABLISHED
hitomi.area51.gr.http  ntsitm052211.sit.32253 tcp        0      0 TIME_WAIT
hitomi.area51.gr.http  ip-122-152-129-1.47672 tcp        0      0 TIME_WAIT
hitomi.area51.gr.http  rz502291.inktomi.38259 tcp        0      0 TIME_WAIT
hitomi.area51.gr.http  livebot-65-55-20.29902 tcp        0      0 TIME_WAIT
hitomi.area51.gr.http  ip-122-152-129-6.41018 tcp        0      0 TIME_WAIT
hitomi.area51.gr.http  livebot-65-55-20.30024 tcp        0      0 TIME_WAIT
hitomi.area51.gr.http  rz502290.inktomi.40232 tcp        0      0 TIME_WAIT
hitomi.area51.gr.58230 210.188.216.246.http   tcp        0      0 TIME_WAIT
hitomi.area51.gr.58229 210.188.204.58.http    tcp        0      0 TIME_WAIT
hitomi.area51.gr.58228 210.188.216.246.http   tcp        0      0 TIME_WAIT
hitomi.area51.gr.58227 210.188.204.58.http    tcp        0      0 TIME_WAIT
hitomi.area51.gr.58226 210.188.216.246.http   tcp        0      0 TIME_WAIT
hitomi.area51.gr.58225 210.188.204.58.http    tcp        0      0 TIME_WAIT
hitomi.area51.gr.58224 210.188.216.246.http   tcp        0      0 TIME_WAIT
hitomi.area51.gr.58223 210.188.204.58.http    tcp        0      0 TIME_WAIT
hitomi.area51.gr.58222 210.188.216.246.http   tcp        0      0 TIME_WAIT
hitomi.area51.gr.58221 210.188.204.58.http    tcp        0      0 TIME_WAIT
hitomi.area51.gr.58220 210.188.216.246.http   tcp        0      0 TIME_WAIT
hitomi.area51.gr.58219 210.188.204.58.http    tcp        0      0 TIME_WAIT
hitomi.area51.gr.58218 210.188.216.246.http   tcp        0      0 TIME_WAIT
hitomi.area51.gr.58217 210.188.204.58.http    tcp        0      0 TIME_WAIT
hitomi.area51.gr.58216 210.188.216.246.http   tcp        0      0 TIME_WAIT
hitomi.area51.gr.58215 210.188.204.58.http    tcp        0      0 TIME_WAIT
hitomi.area51.gr.58214 210.188.216.246.http   tcp        0      0 TIME_WAIT
hitomi.area51.gr.58213 210.188.204.58.http    tcp        0      0 TIME_WAIT
hitomi.area51.gr.58212 210.188.216.246.http   tcp        0      0 TIME_WAIT
hitomi.area51.gr.58211 210.188.204.58.http    tcp        0      0 TIME_WAIT
www ががんばってる?
% sysstat ps
                    /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average   |||||||||||||||
USER      PID %CPU %MEM    VSZ   RSS TT  STAT STARTED       TIME COMMAND
www     13950 70.7  2.6  25420 26220 ??  R    10:06PM    0:01.78 ruby /home/rin/public_html/diary/index.
root       17  0.0 17.1      0 173400 ??  DL   31May07   68:31.79 [ioflush]
root      199  0.0  0.3   1180  3280 ??  Ss   31May07    2:17.98 /usr/sbin/ntpd
root      407  0.0  0.1    188   520 ??  Is   31May07    0:11.60 /usr/sbin/syslogd -s
www     23581  0.0  0.0      0     0 ??  ZW    1Jan70    0:00.00 (ruby18)
root        0  0.0 17.1      0 173400 ??  DLs  31May07    0:00.54 [swapper]
root        1  0.0  0.0     72   220 ??  Is   31May07    0:00.88 init
root        2  0.0 17.1      0 173400 ??  DL   31May07    0:00.00 [cryptoret]
root        3  0.0 17.1      0 173400 ??  DL   31May07    0:00.00 [atabus0]
root        4  0.0 17.1      0 173400 ??  DL   31May07    0:00.00 [atabus1]
root        5  0.0 17.1      0 173400 ??  DL   31May07    0:00.00 [atabus2]
root        6  0.0 17.1      0 173400 ??  DL   31May07    0:00.00 [atabus3]
root        7  0.0 17.1      0 173400 ??  DL   31May07    0:00.00 [atabus4]
root        8  0.0 17.1      0 173400 ??  DL   31May07    0:00.00 [atabus5]
root        9  0.0 17.1      0 173400 ??  DL   31May07    0:00.20 [usb0]
root       10  0.0 17.1      0 173400 ??  DL   31May07    0:00.00 [usbtask]
root       11  0.0 17.1      0 173400 ??  DL   31May07    0:00.13 [usb1]
root       12  0.0 17.1      0 173400 ??  DL   31May07    0:00.19 [usb2]
root       13  0.0 17.1      0 173400 ??  DL   31May07    0:00.09 [usb3]
root       14  0.0 17.1      0 173400 ??  DL   31May07    0:00.23 [usb4]
root       15  0.0 17.1      0 173400 ??  DL   31May07    0:00.00 [atapibus0]
root       16  0.0 17.1      0 173400 ??  DL   31May07    0:05.59 [pagedaemon]
rin     21436  0.0  0.2    712  1536 p3  R+   10:06PM    0:00.02 sysstat ps
root       18  0.0 17.1      0 173400 ??  DL   31May07    3:33.31 [aiodoned]
postfix  6493  0.0  0.1    192   968 ??  S    10:06PM    0:00.00 pickup -l -t unix -u
tinydns   317  0.0  0.0    160   236 E0- I    31May07    0:11.99 /usr/pkg/bin/tinydns
dnslog    378  0.0  0.0     60   340 E0- I    31May07    0:04.34 logger -t nbtinydns -p daemon.info
root      703  0.0  0.0   1044   300 ??  Is   31May07    0:00.34 /usr/sbin/dhcpd -q vr0
root      860  0.0  0.1    300   972 ??  Is   31May07    0:41.79 /usr/sbin/sshd
www     25963  0.0  0.4   6576  3568 ??  S     8:27PM    0:01.09 /usr/pkg/sbin/httpd -k start
root      173  0.0  0.0    192   420 ??  Ss   31May07    0:08.57 /usr/libexec/postfix/master
root     1083  0.0  0.0     88   280 ??  Is   31May07    0:00.02 /usr/sbin/inetd -l
root     1020  0.0  0.0    268   420 ??  Is   31May07    0:03.71 /usr/sbin/cron
postfix   224  0.0  0.0    228   444 ??  I    31May07    0:01.08 qmgr -l -t unix -u
root      228  0.0  0.0     56     4 E0  IWs  31May07    0:00.00 /usr/libexec/getty Pc console
root      230  0.0  0.0     56     4 E1  IWs  31May07    0:00.00 /usr/libexec/getty Pc ttyE1
はて?
apache httpd のログを見てみます。
% grep "27/Jun/2007" /var/log/httpd/access_log | awk '{ print $1}' | sort  | uniq -c | sort -nr | head
4294 67.159.44.231
4231 64.124.85.214
2149 133.9.238.98
1259 38.99.13.124
1187 65.55.212.244
1184 122.152.129.6
1182 66.249.67.24
1136 122.152.129.11
 985 220.194.55.47
 932 222.145.161.158
IPひろば で探してみます。
OrgName: FDC Servers.net, LLC NetRange: 67.159.0.0 - 67.159.63.255 CIDR: 67.159.0.0/18
先日書いた /usr/pkg/etc/httpd/deny-us.conf はこんなでした。IP アドレス 1 つずつです。
<Directory /> <Limit GET POST> Order allow,deny Allow from all Deny from 67.159.44.233 Deny from 208.36.144.9 </Limit> </Directory>
ということでアドレス範囲を指定したわけでした。
[ツッコミを入れる]





