途中までですが、翻訳したものを掲載します。Backendを使いこなせれば化けそうな気がします。TaskQueueの変更も気になりますが、まずはBackendを実際につかってみようと思いました。 Ve.... Read more
Categories » ‘GAE’
更新再開
6月 27th, 2011 by admin長らく本ブログの更新を出来ていませんでしたが、そろそろ更新を再開できそうです。 今日は、GoogleAppEngine SDK 1.5.1のアップデート内容についてまとめる予定です。 .... Read more
アプリケーションを削除(失敗)
4月 6th, 2011 by adminGAE上のアプリケーションを削除する方法をまとめようとしたのですが、どうしてもエラーになってしまいました。サービスが不安定になっているだけの可能性もあるので、時間をおいて、再度やってみます。 1. A.... Read more
GAE/PythonでPython3が使えるようになるのは・・
3月 27th, 2011 by adminGAE/Pythonで、一体いつになったらPython3系が使えるようになるのか。興味深いページがあったのでざっくり翻訳してみました。 http://code.google.com/p/googlea.... Read more
gaecron アカウント上限を300に緩和
3月 26th, 2011 by admingaecronを運用しているのですが、200環境埋まった時点で、一番厳しいリソースで3割弱しか使っていないことが分かったため、上限を200→300に増やしました。 .... Read more
GAE/Pythonでサービス作ろう!
3月 23rd, 2011 by adminこの10日間ほど、地震のニュースばかり追いかける日々をすごしていないでしょうか?大勢の方が被災され、原発関連の二次災害も発生する中で落ち着きづらいというのも事実なのですが、心配しすぎてもしかたない。そ.... Read more
URLLinkerを改良/YouTubeプレイヤーを自動設置
3月 22nd, 2011 by adminURLLinkerをYouTubeに対応させました。YouTubeっぽいURLを見つけると引数を解析して自動的にYouTubeのプレイヤーを埋めこみます。また、生成したHTMLのプレビューを画面の下部.... Read more
URLをアンカーリンクとIMGタグに置換
3月 10th, 2011 by adminMemcachedで負荷が3分の1/GAE無料枠で1日200万PV
3月 1st, 2011 by adminGAE/PythonのアプリにMemcached組み込んだら、CPU負荷が3分の1になった。
GAEは宇宙最強のデータセンタで動いてる。なら、負荷なんて気にしなくていい。お金さえあればね。ってことで、お金払いたくないので最適化しました。数行の変更で、性能3倍以上になっちゃいましたよ!!!!
最適化対象
ブログに埋め込むパーツです。シンプルですが、とあるまとめサイトに埋めたところ、1日数万リクエストがありました。Memcachedを使わなくても、1日50万PV程度は大丈夫だったのですが、最適化してみました。
Memcached導入による負荷の変化
赤い線がAPIが使ったCPU時間、青い線が全体のCPU時間です。Memcachedを組み込んだとたん、CPU使用量が3分の1になりました。特に、APIのCPU使用量は劇的に減っています。
無料利用分でどれだけつかえるの?
超過しそうなリソースはCPU時間とOutboundの転送量。それぞれ1リクエスト当たり10msと400byteです。
CPU無料枠
6.5時間/10ms = 234万PV
Outbound転送無料枠
1GB/400byte = 250万PV
これなら、1日200万PVは余裕ですね。
Memcached組み込み後のソースコード
データ読み取り処理(quickGet)
Memcachedにデータがあるか確認します。あれば使います。なければ、DataStoreから取得しMemcachedに保存します。
データ書き換え処理(18行目)
DataStoreに保存したデータと同じものをMemcachedに保存します。
記事の末尾に「いい」「だめ」ボタンをつけました。
3月 1st, 2011 by admin世間ではFacebookなどの「いいね」ボタンがすごく注目されていますが、敢えて、「いい」「だめ」ぼたんを自分で実装してみました。
何ができるの?
個別記事に以下のソースを埋めてると「いい」「だめ」ボタンが表示されます。いいの数のランキングも見れます。
※site=の後ろのxxxxを自分を識別するコードに書き換えてください。英数で適当に・・
1 2 |
このブログランキングは以下のアドレスで確認できます。
http://like-or-dislike.appspot.com/?site=001
何でつくったの?
なんでつくったんだろうね。理由あげるとすると、こんなところかな。
改良予定
OAuthでログインして、自分専用のコードを発行できるようにする予定です。
ソースコード
おやくそくのソースコードです。まだバージョン管理してません。明日、Githubに登録するよていです。
【無料】GAE使ってみない?【無広告】
2月 27th, 2011 by adminみなさん、Google App Engineって聞いたことありますか? あっ、それしってる。Google Docsとかでしょ?って思った方。惜しいけど違います。 Google App Engineとは.... Read more
python-blog-systemを改良
2月 27th, 2011 by admin今日はpython-blog-systemの改良を進めていました。といっても新機能を実装したというよりは、不具合修正やら、設定の外部化やら地味な作業が中心でした。 ソースコードはこちら https:/.... Read more
gaecronの許可ユーザ数を80に変更
2月 25th, 2011 by admingaecronを運用しているのですが、残アカウント数が少なくなってきたにもかかわらず、リソースにかなりの余裕があるので、ユーザ数上限を50から80に増やしました。最もリソース使用率の高い、Inboun.... Read more
db.Modelに@Propertyを追加
2月 24th, 2011 by adminPySNSの日記の投稿日時表記をUTCからJSTに変更しました。日時計算を複数回実装するのはDRYの原則に反するので、Modelにプロパティーを追加し、そのプロパティーの値を表示するように変更しました.... Read more
GAE/Python デプロイ遅延中
2月 21st, 2011 by admin先ほどからGAE/Python環境、デプロイがし辛い状況になっています。そのうち解消すると思うので、ローカルで出来る開発を進めます。 ::CODECOLORER_BLOCK_6:: .... Read more
PythonでSNS
2月 21st, 2011 by adminPythonでSNSを作ってみることにしました。 実装済みの機能は Googleアカウントでのログイン アカウント(名前)の設定 日記の投稿 全体日記の閲覧 プロフィール画像の設定 です。 友達.... Read more
GAE/Pの管理画面でDataStoreを操作
2月 19th, 2011 by adminapp.yamlの末尾に以下の2行を追記しておけば、GAEの管理画面でDataStoreのメンテナンス出来ます。 ::CODECOLORER_BLOCK_7:: .... Read more
GAE/P DataStore vs Memcached
2月 18th, 2011 by admin昨日のDataStoreの書き込み性能の測定の続きで、DataStoreの読み込みとMemcachedの読み書きの性能を測定した。
比較内容
以下の5項目の測定を行った。100バイトの読み書き50回を1セットとして、10回測定しグラフを作成した。
- Store/W
DataStoreへの保存 - Store/R
DataStoreから1レコード取得 - Mem/W
Memcachedへの保存 - Mem/R - s
Memcachedからの読込。データが存在する場合。 - Mem/R - m
Memcachedからの読込。データが存在しない場合。
結果グラフ
縦軸は1回当たりの処理時間(単位ms)、横軸は10回分の測定結果。
結果考察
MemcachedのReadが最も高速で、MemcachedのWrite、DataStoreのRead、DataStoreのWriteと順に遅くなった。平均処理時間と、MemcachedのReadを1とした時の実行時間を表にまとめてみた。
| - | Store/W | Store/R | Mem/W | Mem/R-s | Mem/R-m |
| 時間[ms] | 17.94 | 7.1 | 2.29 | 2.12 | 2.07 |
| Mem/R比 | 8.68 | 3.43 | 1.11 | 1.02 | 1 |
この結果から、Memcachedの性能は、DataStoreと比べてReadで3倍程度、Writeで8倍程度高速であることが分かる。Memcachedのキャッシュヒット率が50%を超えるようなサービスであれば、Memcached導入によるパフォーマンスアップが期待できそうだ。
測定用プログラム
URL短縮君が攻撃された
2月 15th, 2011 by adminURL短縮君のAPIを公開したところ、早速9000回を超える攻撃リクエストを受けました。 匿名で利用できるVPNサービスを使ってのアクセスだったようですが、司法機関が動くと普通に身元割れてしまうのでご.... Read more
URL短縮APIをリリース
2月 15th, 2011 by adminURL短縮サービスに、APIを実装しました!!!
使い方はとっても簡単、”http://b.php5.jp/?url=”の後ろに短縮したいURLをつけるだけ!!!
※url=の後ろはURLエンコード推奨
短縮元URL
1 | http://www.yahoo.co.jp |
短縮用のAPI呼び出し
1 | http://b.php5.jp/?url=http://www.yahoo.co.jp |
実行 → http://b.php5.jp/?url=http://www.yahoo.co.jp
短縮例
1 | http://php5.jp/l |

