[ロ]AWSと戯れる休日

このエントリーをはてなブックマークに追加
はてなブックマーク - [ロ]AWSと戯れる休日
Share on Facebook
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]

LOWTECH Amazonサーチα がとても遅い。しかも返ってくるはずの結果がたまに空だ。何なんだ。
というわけで、ひとまずは遅い件について対応しようと調査開始。


一つずつ「echo date(‘H:m:s’) . “\n”;」とかってバカみたいにいれて、どこが遅いか調査。(もうちょっとまともな調査する方法は・・・?)
んで、結果は以下の部分でだいぶかかってることがわかる。

$this->Client = new soapclient(WSDL_FILE, true);

色々ぐぐると『amazon検索スクリプトをまじめにやるメモ』のGoogleキャッシュがいけてる。本家がなくなってしまっていたので、キャッシュです。
書いてある通り
AmazonSearch.phpのsoapclientを生成するところで以下の様にしてあげた。

$cachefile = ‘cache/cache’;
if (file_exists($cachefile)) { // Read from cache file
$fp = fopen($cachefile, ‘rb’);
$this->Client = unserialize(fread($fp, filesize($cachefile)));
fclose($fp);
} else { // Create cache file
$this->Client = new soapclient(WSDL_FILE, true);
$fp = fopen($cachefile, ‘wb’);
fwrite($fp, serialize($this->Client));
fclose($fp);
}

すると、この部分は短縮された。キタ━━゚+.ヽ(≧▽≦)ノ.+゚━━ ッ ! ! !と思ったんだけど、実際に試してみると早くない。いや、この部分は早くなったのだけれど・・・
AmazonSearch.phpの「DoKeywordSearch」しているところがめちゃめちゃ遅い。つまり検索して結果が返ってくる部分が遅い。

$Results = $AS-> DoKeywordSearch(“坂本真綾”,”heavy”, ‘music-jp’, “3”, “10”); // lite or heavy

で、もっと調べてみると

/* Make the request */
$Result = $this->Proxy->$Func($Params);

この部分がめちゃめちゃ重い。4秒くらいかかっちゃう・・・。うーん、、、ぢつはこの部分で知識不足露呈。えっと・・・。恥ずかしいから言わない。ああ、できねーーー!!

Popular Posts:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*