Webサービス更新履歴&技術情報PHP(FuelPHP)とかJavaScript(TitaniumMobile)とか、Webサービス情報などこの広告は、90日以上更新していないブログに表示しています。php「激安!1円ショップ」でcURLのマルチスレッドを実現するcurl_multi関数で楽天APIをリクエストしたときの記録です。(version:2012-07-23)です。今現在、「激安!1円ショップ」はcURLをシングルでリクエストしていますが、様々な商品を展示したいと思い、curl_multi関数で複数回APIを叩きたいと思い、書き換えを進めていました。同時に5回のリクエストをしましたが、エラーが出ました。実行結果は以下の通りです。※URLのリクエストのことを◯本目としています。5本目というのはcurl_multiで5回目のAPIリクエストのことです。1本目のリクエストは成功しますが、2本目のリクエストでエラーが出たり出なかったりします。3本目はなぜか成功します。(実験は4回だけなので、必ず成功するわけではないと思います)他は成功したり失敗したりします。5本リクエストを送ると、2本目以降の半分ぐらいはこけてしまいます。これは楽天APIのドキュメントにも書かれていますが、「※短い時間の間に大量に、同一のリクエストURLへアクセスすると、一定時間利用できなくなる場合がございます。テストの際にはご注意ください。」というように、大量のアクセスと判断されているためと思われます。cURLのシングルスレッドで5回リクエスト送るより、curl_multi関数でマルチスレッドのほうが速いですが、肝心のリクエスト先サーバーから、エラーが返ってくる状況ではいかに速くしてもしょうがないともいえます。楽天APIは月毎の使用回数制限ないのはいいですが、同時リクエストが多いと、すぐにエラーを吐いてしまうので、(いろいろな回避方法があるとは思いますが、)大量のリクエストや大量のアクセスがあるようなWebサービスには向いていないといえます。サーチ)...2009-09-13エラー備忘録ただいま、Rubyを勉強をしています。タイムセールを別表にしました。)Google+はてなブログをはじめよう!toshiyuki83さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。