GeekFactory

int128.hatenablog.com

JSONICとSlim3 DatastoreによるREST APIサービス

JSONベースのRESTサーバにJerseyを使っているのですが、App Engineの実環境ではspin-up timeが長いので困っていました。mixiアプリの表示に10秒もかかると見る気が失せてしまいます。

そこで、JSONICのWeb Service Servletを使ってみました。POJOJSONで返す簡単なサービスをデプロイして検証してみました。

Date Request path Status Response time CPU time Transfered
02-18 05:52AM 39.984 /my/Index 200 1354ms 934cpu_ms 0kb
02-18 05:52AM 44.009 /my/Index 200 19ms 17cpu_ms 0kb
02-18 05:54AM 12.256 /my/Index 200 21ms 18cpu_ms 0kb
02-18 05:55AM 29.644 /my/Index 200 19ms 0cpu_ms 0kb
02-18 06:05AM 35.049 /my/Index 200 953ms 880cpu_ms 0kb

起動時にクラスやアノテーションをスキャンしないのでspin-up timeは短いです。ただし、実行時にスキャンが走るため、複雑なオブジェクトをJSONに変換するとレスポンス時間は長くなると考えられます。

JSONICSlim3 Datastoreと組み合わせることも可能です。Song of Cloud: Slim3 Datastoreに乗り換える(2)を参考にしてください。REST APIサーバはJSONICSlim3 Datastoreの組み合わせが最強と思います。