ぷぎがぽぎ このページをアンテナに追加 RSSフィード

2010-02-03

[][]MongoDBを使ったセッション管理

MongoDBを使ったセッション管理のほうがMySQL(PDO)より確実に速いよね?でも、そのためのクラスが用意されてないよね?

ってことで、書いてみました。

no title

書いたといっても、DBのセッション管理クラスをそのまま書き換えたぐらいです。

設定

使い方はfactories.ymlにて以下のように設定。

レプリケーションさせたりというところまでは考慮してません。

   storage:
     class: sfMongoSessionStorage
     param:
       host: localhost          #接続先
       port: 27017              #ポート
       db_name: symfony         #DB名
       collection_name: session #コレクション名

結果

ざっくばらんにローカル環境でab -n 5000 -c 100 した結果

MySQL   => Requests per second:    10.86 [#/sec] (mean)
MongoDB => Requests per second:    16.61 [#/sec] (mean)

Default => Requests per second:    17.58 [#/sec] (mean)

思っていた以上にMongoDBが優秀な結果に。CPUの使用率の問題などありますが使えそうです。

2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |