You should lock your program for as shorter as possible. Lock it straight before read/write operation and unlock it just after this operation. Otherwise you will face with perfomance degradation and even lock your program at all.
You bind your session to db. Your open method opens the db connection and locks it. No other parallel requests will not be possible until the hole request to your site will be finished (and session close will be called)