Week10はFrayed Logos Denim Jacket/Jeanが販売されました。その他にSmall Box Logo TeeのBandana柄が人気といった感じです。
今回の代行料金は以下となりました。
- Frayed Logos Denim Jacket/Jean 1,500円
- その他一律 1,000円
前回からの改良
今回は、処理を見直して無駄なコードを書き直しました。数百ms〜数秒ほどの改善となりましたが、微々たるものかもしれません。商品情報取得→DB更新の処理部分はだいぶ改善しましたが、リリース直後はサーバにアクセスが集中するためどうなるのかと言った感じです。
今回も引き続きどの処理が速度に影響しているか調査するため、各処理にかかっている時間を調べる処理を追加、ログをミリ秒単位で記録するようにしてみました。
特別なBot対策がおこなわれないことを考慮し、今回はByPassモードでリクエスト型を動かすことにしました。
今回の結果
今回は19件ほどの依頼数となりました。ほとんどの依頼品は、Frayed Logos Denim Jacket/Denimとなりました。結果は、購入成功4件、キャンセル1件となりました。ご依頼いただき失敗してしまった方、申し訳ございません。
今回も特定の商品に人気が集中する結果となったようです。
購入できた商品は以下となります。
- Frayed Logos Denim Camp Cap Blue x2
- Small Box Tee Light Blue Bandana x2(XL含む)
今回も特にBot対策がおこなわれなかったようでした。商品情報が反映されたのが11時5秒となりました。その後すぐカートイン処理となりましたが、タイムアウトや503エラーが発生し、11時10秒にカートイン完了となったようです。人気商品は、11時11秒にチェックアウトした時点で完売となり、購入に至りませんでした。
購入できた商品はすべてリクエスト型で購入できていたので、上手く動いていることが確認できてよかったです。
商品情報取得→DB更新が大きなボトルネックと考えていましたが、カートイン処理に大幅な時間がかかっていることが分かりました。カートイン時のリクエストは同時に3リクエスト並列に走らせていますが、それでも5秒ほどかかったり、503エラーが発生している状態です。このあたりをどうにか改善する必要があるかもしれません。
その後、何度かリストックされましたが購入に至りませんでした。リストック検知から200ms程度でチェックアウトまでいきましたが、在庫不足となっていました。リストック検知のタイミングが遅いか、チェックアウトまでの処理が遅いかでしょうか。
コードをリファクタリングしたおかげか、いつものインスタンスでもそこそこ速度が出るようになった気がします。
あとはリストックをもっと効率的に検知するために商品情報取得処理を見直した方が良いかもしれません。その他にプロキシサーバの設定を見直したり、できるだけ高速化するためにもう少し改良していきたいと思います。
コメント