みなさん、Google App Engineって聞いたことありますか? あっ、それしってる。Google Docsとかでしょ?って思った方。惜しいけど違います。 Google App Engineとは.... Read more
Archive for 2月, 2011
python-blog-systemを改良
2月 27th, 2011 by admin今日はpython-blog-systemの改良を進めていました。といっても新機能を実装したというよりは、不具合修正やら、設定の外部化やら地味な作業が中心でした。 ソースコードはこちら https:/.... Read more
python-blog-systemをgithubに登録
2月 27th, 2011 by adminpython-blog-systemのソースコードをgithubに登録しました。まだまだ完成度の低いブログシステムですが、参考にしていただければと思います。forkして改造したり、機能の改善点や、バグ.... Read more
本日の予定
2月 26th, 2011 by admin今日は、昼間にちょっとした事故があったのですが、落ち込んでいても仕方がないので勉強はじめます。しばらくGitの勉強をして、プロジェクトをGitHubに登録したあと、Pythonで何かやろうと思います。.... Read more
gaecronの許可ユーザ数を80に変更
2月 25th, 2011 by admingaecronを運用しているのですが、残アカウント数が少なくなってきたにもかかわらず、リソースにかなりの余裕があるので、ユーザ数上限を50から80に増やしました。最もリソース使用率の高い、Inboun.... Read more
MacBookPro注文しました
2月 25th, 2011 by admin衝動買い・・ではないです。予定通りです。でたら買うつもりだったので。 ご注文された商品 数量 単価 商品合計 15インチ MacBook Pro 製品番号: Z0LZ iWork(プリインストール) .... Read more
WordPress3.1にアップデート
2月 24th, 2011 by adminこのサイトはWordpressで運営しているのですが、先ほどWordpress3.1にアップデートいたしました。アップデートはボタン1つで終わるのですが、アップデート処理に約5分程度かかりました。閲覧.... Read more
本日の作業予定
2月 24th, 2011 by adminGitについて軽く勉強してから、python-blog-systemのソースコードをGitHubに登録しようと思います。 .... Read more
db.Modelに@Propertyを追加
2月 24th, 2011 by adminPySNSの日記の投稿日時表記をUTCからJSTに変更しました。日時計算を複数回実装するのはDRYの原則に反するので、Modelにプロパティーを追加し、そのプロパティーの値を表示するように変更しました.... Read more
hackme、Lv3は突破できた
2月 23rd, 2011 by adminLv3は突破できた。穴っぽいとこに穴はあって、普通に掘り進めば解けた感じ。まー、がんばればなんとかなるとおもう。 だけど、Lv4は怪しい所すら見当たらない。画面の配色変わったけど、これって特に意味ない.... Read more
pySNSを微調整
2月 23rd, 2011 by admin今日は、hakemeで遊んでしまい、pySNSの開発はほとんど進みませんでした。ユーザ数表示の追加と、全体のリファクタリングをしかできませんでした。 hackmeはLv2まで突破できました。エラーメッ.... Read more
本日の実装結果
2月 22nd, 2011 by admin今日はPySNSの実装を進めました。仮ではありますが、友達システムが動作するようになりました。 当初の予定 実装予定の機能 ・友達登録機能 ・日記への画像添付機能 ・プロフィール画面にプロフィール画像.... Read more
GAE/Python デプロイ遅延中
2月 21st, 2011 by admin先ほどからGAE/Python環境、デプロイがし辛い状況になっています。そのうち解消すると思うので、ローカルで出来る開発を進めます。 ::CODECOLORER_BLOCK_5:: .... Read more
本日はPySNSに機能追加します
2月 21st, 2011 by admin実装予定の機能 ・友達登録機能 ・日記への画像添付機能 ・プロフィール画面にプロフィール画像を表示 ・友達の日記表示機能 2時間ほどしか作業できなさそうなので、どこまで出来るかは疑問です。午後10時頃.... Read more
PythonでSNS
2月 21st, 2011 by adminPythonでSNSを作ってみることにしました。 実装済みの機能は Googleアカウントでのログイン アカウント(名前)の設定 日記の投稿 全体日記の閲覧 プロフィール画像の設定 です。 友達.... Read more
エンコードエラー
2月 20th, 2011 by adminエンコード関連ではまったので共有しておきます。 ベースとなるコード 日本語の部分がユニコード文字列になっていないのが不安ですが、動作します。 ::CODECOLORER_BLOCK_6:: 動かないコ.... Read more
GAE/Pの管理画面でDataStoreを操作
2月 19th, 2011 by adminapp.yamlの末尾に以下の2行を追記しておけば、GAEの管理画面でDataStoreのメンテナンス出来ます。 ::CODECOLORER_BLOCK_15:: .... Read more
今週末の予定
2月 19th, 2011 by adminちょっと大きめのWebアプリを開発中です。Webアプリ自体は公開できないかもしれませんが、途中で気がついたことをいくつか記事にまとめようと思ってます。 ブログを何点か改良(改悪?)しました。 ブログ.... Read more
単語リスト
2月 19th, 2011 by admin英単語の出現頻度を利用したアプリを作ろうと思い、その下準備として単語リストを作りました。大文字・小文字、過去形、三人称単数現在形のsなどもそのままの形で収録されています。実際に、アプリに組み込むときは、大文字・小文字の統一ぐらいはしたほうがよさそうです。10001-20000番目の単語のリストも作ろうと思ったのですが、途中の単語が1000個欠落してたので、諦めました。
出典: Wiktionary:Frequency lists/Project Gutenberg 1-10000
Wiktionary:Frequency lists/Project Gutenberg 1-10000
1行100単語 × 100行です。行内の単語はスペース区切りになっています。
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導入によるパフォーマンスアップが期待できそうだ。