2005/7/1 金曜日

PHPの高速化

カテゴリー: おぼえ書き — ryu @ 23:42:52

忘れてた。インスコしたものとばっかり…。
PHPはスクリプトなのでコンパイルに時間がかかります。
ということで、コンパイルした結果をキャッシュしてくれる優れものが。

pear install APC

して、 php.ini に

extension=apc.so
apc.optimization=1

を追記。

これでだいぶ早くなったんじゃなかろうか。
mixi の結果は2時間後…。

道のりははるか遠く…

カテゴリー: おぼえ書き — ryu @ 0:38:54

どーも、TransferEncodingとかContent-Lengthの問題では無かったみたいで、
結局解決されなかった…ものの。

ダンプ眺めていて気がついた。

接続後2秒経ってmixiからFINACKが…。
タイムアウトですか…_| ̄|○

ある時のパケットダンプ
19:11:20.377218 IP mixi > nyanyan: S 3727038706:3727038706(0) win 5840 <mss
19:11:20.378980 IP nyanyan > mixi: S 3006056034:3006056034(0) ack 3727038707
19:11:20.404210 IP mixi > nyanyan: . ack 1 win 5840 <nop,nop,timestamp 39799
19:11:20.406862 IP mixi > nyanyan: P 1:109(108) ack 1 win 5840 <nop,nop,time
19:11:20.407195 IP nyanyan > mixi: . ack 109 win 5792 <nop,nop,timestamp 101
※19:11:22.406099 IP mixi > nyanyan: F 109:109(0) ack 1 win 5840 <nop,nop,time
19:11:22.437895 IP nyanyan > mixi: . ack 110 win 5792 <nop,nop,timestamp 101
19:11:22.556478 IP nyanyan > mixi: . 1:1449(1448) ack 110 win 5792 <nop,nop,
19:11:22.556689 IP nyanyan > mixi: . 1449:2897(1448) ack 110 win 5792 <nop,n
19:11:22.605633 IP mixi > nyanyan: R 3727038816:3727038816(0) win 1024

また別の有るとき
20:40:17.597155 IP mixi > nyanyan: S 769302570:769302570(0) win 5840 <mss 14
20:40:17.597544 IP nyanyan > mixi: S 51896639:51896639(0) ack 769302571 win
20:40:17.623956 IP mixi > nyanyan: . ack 1 win 5840 <nop,nop,timestamp 39852
20:40:17.623966 IP mixi > nyanyan: P 1:109(108) ack 1 win 5840 <nop,nop,time
20:40:17.624459 IP nyanyan > mixi: . ack 109 win 5792 <nop,nop,timestamp 101
※20:40:19.625894 IP mixi > nyanyan: F 109:109(0) ack 1 win 5840 <nop,nop,time
20:40:19.658081 IP nyanyan > mixi: . ack 110 win 5792 <nop,nop,timestamp 101
20:40:19.760604 IP nyanyan > mixi: . 1:1449(1448) ack 110 win 5792 <nop,nop,
20:40:19.760817 IP nyanyan > mixi: . 1449:2897(1448) ack 110 win 5792 <nop,n
20:40:19.810506 IP mixi > nyanyan: R 769302680:769302680(0) win 1024

※のところでこちらからデータ送る前に mixi からFINACKが飛んできてる…

ちなみに静的ファイルの場合…
03:45:52.501052 IP mixi > nyanyan: S 1757632495:1757632495(0) win 5840 <mss
03:45:52.501563 IP nyanyan > mixi: S 1056632343:1056632343(0) ack 1757632496
03:45:52.530828 IP mixi > nyanyan: . ack 1 win 5840 <nop,nop,timestamp 39495
03:45:52.530838 IP mixi > nyanyan: P 1:109(108) ack 1 win 5840 <nop,nop,time
03:45:52.531334 IP nyanyan > mixi: . ack 109 win 5792 <nop,nop,timestamp 100
03:45:52.535711 IP nyanyan > mixi: . 1:1449(1448) ack 109 win 5792 <nop,nop,
03:45:52.535923 IP nyanyan > mixi: . 1449:2897(1448) ack 109 win 5792 <nop,n
03:45:52.584450 IP mixi > nyanyan: . ack 1449 win 8688 <nop,nop,timestamp 39
03:45:52.584725 IP nyanyan > mixi: P 2897:4345(1448) ack 109 win 5792 <nop,n
(中略)
03:45:52.683094 IP nyanyan > mixi: FP 15929:16781(852) ack 109 win 5792 <nop
03:45:52.706564 IP mixi > nyanyan: . ack 8689 win 23168 <nop,nop,timestamp 3
(中略)
03:45:52.837558 IP mixi > nyanyan: F 109:109(0) ack 16782 win 37648 <nop,nop
03:45:52.837854 IP nyanyan > mixi: . ack 110 win 5792 <nop,nop,timestamp 100

0.5秒以内に処理完了。

(;´Д`)

試しにスクリプトが吐いた RSSを垂れ流す CGI 作って mixi に食わせたら
食べてくれました。
HTTPヘッダどうこうとか関係なかったみたい。

大量にRSSクロールするから2秒タイムアウトって妥当なんだろうなぁ…。
PowerPC400Mhzな箱で動的生成してるから仕方ないとは仕方ないとはいえ、
2秒の壁、破れるんだろうか…。

ということで、方針は下の通りだなぁ。

・今使ってるScriptのチューニング
・今使ってるScriptを改造してRDFは静的生成させる
・今使ってるScriptを2.X系にバージョンアップする
・サーバ変更する
・レンタルサーバに引っ越す
・PHP+SQLite系のBlogスクリプトに移行する
・MTに移行する
・あきらめる
・Blogやめる

国産のスクリプトの良いところは携帯電話対応が入ったりしている所。
今使ってる Blogn は携帯での参照はもちろん携帯メールからの投稿も出来るので、
選んだんだよなぁ。
1.X系じゃなく2.X系だと PGSQL対応したみたいだからそっちに移行するのも有りかなぁ。

2005/6/30 木曜日

それですか?

カテゴリー: おぼえ書き — ryu @ 22:00:14

mixiのトップ。
取りあえず逃げますとは言うものの開発者の隅っこのほーに席を置くものとして
追求するのは当然のことでしょう。

そう、RSSの内容をそのままindex.rdfに置けば更新される…ということは、
HTTPのレスポンスヘッダが変以外に考えられません。

こうなったら、パケットキャプチャですよ。

GET /?mode=rss HTTP/1.1
Connection: close
Host: nyanyan.to
User-Agent: Mixi RSS Fetcher – Version 0.1

HTTP/1.1 200 OK
Date: Wed, 30 Jun 2005 09:48:53 GMT
Server: Apache/2.0.54 (Unix) PHP/4.3.11
X-Powered-By: PHP/4.3.11
Etag: “c70761f3667a913af3e1904d2f5d2997″
Last-Modified: Tue, 28 Jun 2005 01:37:47 GMT
Connection: close
Transfer-Encoding: chunked
Content-Type: application/xml; charset=UTF-8
Content-Language: ja

え?
Transfer-Encoding: chunked
って。

んー、HTTP/1.1では普通なのかぁ。
取りあえず、PHPからContent-Length:ヘッダを返すように変更。

しかし、2時間に一回だから結果も2時間後にしか解らなかったり…
なんか外してる気はしますが…

2005/6/28 火曜日

ご迷惑をおかけしております

カテゴリー: おぼえ書き — ryu @ 10:37:47

一部、 RSS でこのページを見ていただいている方にはご迷惑をお掛けしています。

mixi の新着日記が更新されないので色々ごりごり直したりテストしたりしていました…。
が、結局原因不明ヽ(´ー`)ノ

RDF Validation Service でも FEED Validator でも その他いくつかの Validator でも Valid と言われるんだけどダメ。
ふと、RSS をテキストに落として置いてみると…更新された…。

BodyだけじゃなくHTTPヘッダ(not HTMLヘッダ)まで合わしてるのにダメって
何が原因…うきー。でも更新されなくなった心当たりは
apache/php/blogn バージョンアップとか、HTML Lint対応とかだからなぁ。
解らん…。

取り合えず、index.rdf を手で作ることにして逃げよう。

Last-Modified 入れたり if-modified-since 対応入れたり(RSSだけね)、
余計な事出来たことのほうが大きかったりヽ(´ー`)ノ

2005/6/21 火曜日

Skype API on Linux

カテゴリー: Skype — ryu @ 23:06:06

久しぶりに Skype ねた。

SkypeAPI の Linux 版が公開されたのは、少し前になる。
ぐぐっていると、Days of Liris というページもあり、
「も、いっかー」的な想いに捕らわれていた。
D-BUS って良く知らないけど、それはLinux知らないからで、
Linux Desktopじゃ有名なんだろうなぁとか。

が、Skypeが公開しているCのサンプルが、
どーにも見つからないのでちょっと書いてみた。

が、その前にまず Skype を Linux で動かす必要があります。
Debian だと、Woody では駄目で Sarge が必要かも。
というのも、ライブラリが結構えらいこと成っていて、

sarge:~/skype-1.1.0.13# ldd skype
libqt-mt.so.3 => /usr/lib/libqt-mt.so.3 (0xb78f9000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb78ea000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7823000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7814000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb775a000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7738000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb772f000)
libc.so.6 => /lib/tls/libc.so.6 (0xb75f9000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb75ca000)
libaudio.so.2 => /usr/lib/libaudio.so.2 (0xb75b5000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0xb7564000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb753f000)
libz.so.1 => /usr/lib/libz.so.1 (0xb752d000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7524000)
libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb7520000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb7517000)
libXft.so.2 => /usr/lib/libXft.so.2 (0xb7504000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7497000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb748e000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb7476000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xb7473000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7453000)

なのです。woody でごにょごにょしていて OpenPsion の環境つぶしたのは内緒。
英語のページには .deb が転がっていますが、日本語対応が出来ていないので、
素直に日本語ページからアーカイブ落とした方が吉。

で、D-BUS関連見てたんだけど標準的?と言って良いのかなぁ。疑問。情報少なすぎ。
とりあえず、 apt-get でライブラリ突っ込んだまでは良いものの、
適当に組んだ D-BUS のコードが動かん動かん(笑
(この段階では、Skype どうこうという以前の話)
ListServices?ListNames?とかD-BUSのバージョン間での変更に???に成りながらも、
結局、ヘッダーファイル眺めまくりで取りあえずD-BUSはOK。

後はPythonのソースみながら適当に、にゃにゃんとでっちあげて取りあえずのサンプル
コンパイルちょっと工夫が要るみたい。

gcc `pkg-config –cflags dbus-1` そーす

って感じで、pkg-configを入れてやる必要があります。
「PROTOCOL 1」って事は同期通信しかないのかなぁ。
なんか signal というか callback が上手く取れてない気がしますが、
その辺はおいおいって事で。

というか、APIはIPC系で良かったように思うんだけど、
何でD-BUSなんでしょうねぇ。
Qt だからかなぁ…。

ま、ここまで動きさえすれば後は何とかなるでしょう。

2005/6/19 日曜日

一瞬の光

カテゴリー: 未分類 — ryu @ 20:40:57

 今まで生きてきて小説でしか起こらないような、そんな出来事にも出会って来たけどそんな小説は無かった。この本を読んだ時、そうした自分が出会ってきた出来事、いやそれよりいろいろな意味で数レベル上の出来事が綴られていて読み終わった後、結構喪失感を覚えていた。初めて読んだのは2月が3月だったと思うけどそれ以来時間が有るたびにぱらぱらとページをめくっては気になるところを読み返している。

 タイトルは「一瞬の光」、小説中何度か一瞬という言葉が出てくるがどれもタイトルをあらわしているようには読めない。一番「一瞬の光」と思えるところでは一瞬という言葉は使われていない。

 白石一文はこの本で何が言いたかったんだろう?

誰も言い出さないのは何故?

カテゴリー: 未分類 — ryu @ 18:56:27

祝JR復旧…と正直手放して喜んでいる一人ではなく。
ちょっと強引過ぎません?JRさん。
それじゃぁ乗客一人ひとりを大事にしているっていくら言っても
信じてもらえませんぜ。

というか、幾つかなんでテレビやニュースで言われないのか、気になる点がある。

1.JRが開通したら振り替えは無し?
 精神的に「怖くて乗れない」って言う人は居るでしょう?
 振り替えを無くすっていう事はそういう人の心のケアまで含め終わったって事?
 顧客数が多いから少数派は切り捨てるって事でしょうか?

2.長期的に輸送力の強化は?
 ダイヤ見直しとはいえ通勤時間帯の輸送力が限界に来ているのは明らかでしょう?
 複々線化の計画とかしないと。ほら。すぐ出来るもんじゃないんだし計画しないと。
 京都線と違って昼間の乗客の少なさとか問題も有るでしょう?
 そういう問題があるから複々線化しないんじゃなくて、
 そういう問題を解決して複々線化しないと。ね?

3.JRより怖い羽田のラッシュはどーするの?
 いや、事故したから仕方ないとはいえJRより遥かにやばい状況でしょう?
 人員的にも航空会社プロパーって少なくなってるんだし。

という、3点、言及しているニュースがあれば教えてください。
どうしてニュースで言われないのか不思議でしょうがない。

阪急への振り替え輸送で阪急滅茶苦茶混んでた。
JRから大阪の会社に対して時差通勤の依頼とかしてないでしょう?
フレックスじゃない会社にフレックスをお願いするとか、
何でしないのか理解できない…。
自分たちで出来ないことは周りにお願いする。
そういう姿勢は結局無いまま。

何も変わってないんじゃないの?と。
そういう俺は明日から乗るかどうか迷ってますが…。

2005/6/16 木曜日

最終目的地は…

カテゴリー: 未分類 — ryu @ 23:14:38

「船で大海に漕ぎ出す」
というのが、社会に出る時を例えるのに良いかもしれないと思うようになったのは実は最近だ。
学生の間に漕ぎ出す方向を決め、漕いでいくための準備をして、と解っていたらもう少し違った道を歩いていたかもしれない。逆に言えば漕ぎ出す方向が決まって準備万端になった時点で学生を終わらせても良いのかもしれない。

 方向も曖昧で準備も出来ていないまま取りあえず大海に漕ぎ出して10年数年。途中幾度と無く方向転換し波にさらわれ嵐に転覆、漂流を繰り返しつつも漕いできた。果たして今到達している場所は目的地だったのだろうか。転覆した時は船を起こし、漂流した時はまた漕ぎ出すために体制を整え、苦労してやってきた此処は。

 無人島に漂着したこともある。どこだかわからない場所にしばし呆然とし、つめたい海の水に冷え切った体は動かず。それでも悴んだ手を歯を食いしばって動かし、漂流してしまった理由を考え次は転覆しないように対策を練る。漕ぎ出すためには準備が必要で、準備するためには体を動かし、体を動かすためには体力をため、体力をためるためには水から上がって…と一段一段踏んでいくしかない。ボロボロの船でボロボロの体のまま漕ぎ出そうと思っても漕ぎ出せるわけが無い。そこは無人島なのだ。誰も居ない。漕ぎ出すか無人島に留まるかを決めるのは自分なのだ。結局、無人島を脱出するにはまた漕ぎ出すしかない。

 果たしてそれが正解なのだろうか。
 目指す最終目的地は宇宙にあるかもしれないのに。

2005/6/13 月曜日

サイドチェンジ

カテゴリー: 未分類 — ryu @ 23:21:21

と言うことでにゃにゃんと「にゃにゃん.と」にサイト名変更して、
URLも変更です(笑

というか、urlなので深く考える人も少なかったかも知れませんが、
side_c つまり「C面」。A面B面は有るけどC面って?ヽ(´ー`)ノ
ま、いきなり「C面」な訳ではなくてA面B面も経てのC面で、
今でも、B面は残骸が残っていたりします。
そう、実はD面も存在する(笑)んだけど、ま最初に戻る?みたいな(笑

で、サイドチェンジに合わせてサイト名も変更します。
ちょっと後ろ向き名サイト名だったのですが、
ま、それももう良いでしょうって事で。

今後とも、「にゃにゃん.と」をよろしくお願いします。
さっきDNSも変更して、http://nyanyan.to/で、
アクセスできるようにしました。
が、2,3日反映には時間が掛かります。
(うちは Refresh 短めなので何週間もは掛からないと思いますが…)

2005/6/8 水曜日

ショップ・チャンネル

カテゴリー: 未分類 — ryu @ 23:30:12

テレビで通販ばかり24時間放映しつつけているショップチャンネル。
ぼんやり見てる率は高いんだけど、物を売り込むって言うその姿勢が
凄いなぁと感心してしまう。
手を変え品を変えこれでもかと商品を売り込む。
まぁ、売りがある商品って見方もあるけど必ずしもそうじゃなく、
普通の商品であってもこれでもかと売り込む。
今、ちょっと我慢の時期なら、たとえ売りが無くても
そういう売り込みを造るっていう事をする
時期なのかなと見て書いて話してみた結果…かな。

« 前ページへ次ページへ »

31 queries. HTML convert time: 0.356 sec. Powered by WordPress 2.8