2010年4月20日火曜日

スケールについて

GAEでスケールするとか、する為にとか「スケール」と言う
キーワードが出てきたので意味を調べてみた。

スケールアップ
マシーン個々の処理性能を高め性能を向上させる考え方の事

スケールアウト
サーバの数を並列に増やし負荷を分散でシステム全体の処理性能を向上させる考え方

一台の処理を物凄くアップするか、複数で処理を負担をして処理するするかの違いみたいだけど
一台の処理向上は限界があるのと、webでは複数マシーンが繋がっているので
webではこのスケールアウトが常套手段となるみたい。

結局スケールと言うのは性能の事を指すのかなぁと。

(メモ)
bigtableを使いスケールする為には
非正規化を行い、できるだけ同じテーブルにデータを格納する。

GAEのcolum(カラム)にinteger型を追加する。

現在bigtableのカラムの追加に凄い苦戦中
bigtableでString型を追加する場合は普通にEntityの宣言を追加して
Insert処理を加えればbigtableが更新されるけど
integer型を追加する場合は初期値にnullが入る為にエラーになり
追加ができない・・・

pythonのbulkuploaderを使ってDBをさらにして入れなおせば
カラム追加できるかも・・・
でもpythonを今からやるの大丈夫だろうか・・・

integer型のカラム追加できたらまた記述します。

2010年4月15日木曜日

GAEの速度向上

GAEに初期にアクセス速度が恐ろしく遅い・・・
そこで改善方法を調べる事に、
改善方法として

・memcacheの使用
・precompilationの使用
appengine-web.xmlに
true」を記述
・cronで毎回アクセスする。(google非推奨らしいので自己責任との事)
cronの実行方法だが
WEB-INFの配下にcron.xmlを作製


/自分の配下のURL
説明文
every 1 minutes ←実行タイミング、最短1分
Asia/Tokyo


を記述する。

2010年4月8日木曜日

Linuxの時間の設定

・linuxで現在設定されている時間を確認する。
date
・linuxで時間を変更する。
date -s "20100401 13:00"

またntpを設定しておくと自動で時間を取得し設定する。

2010年4月2日金曜日

postgresの実行中SQL確認と停止方法

・確認用SQL
SELECT
procpid,
start,
now() - start AS lap,
current_query
FROM
(SELECT
backendid,
pg_stat_get_backend_pid(S.backendid) AS procpid,
pg_stat_get_backend_activity_start(S.backendid) AS start,
pg_stat_get_backend_activity(S.backendid) AS current_query
FROM
(SELECT pg_stat_get_backend_idset() AS backendid) AS S
) AS S
WHERE
current_query <> ''
ORDER BY
lap DESC;

・停止方法
SELECT pg_cancel_backend(プロセスID);

2010年4月1日木曜日