只有一个sqlalchemy会议可以成为应用程序的瓶颈吗?

时间:2013-09-04 12:38:51

标签: sqlalchemy plone zope

我正在使用z3c.saconfig在Plone / Zope应用程序中配置sqlalchemy。在此应用程序中,我们使用named_scoped_session("dbmyapp") z3c.saconfig方法创建了一个Session sqlalchemy。会话已创建并且运行良好。但是我们只为应用创建了一个Session。

这个[一个会话sqlalchemy / app]可以成为应用程序的瓶颈吗?

顺便说一句,我们可以为每个应用创建多个会话吗?有什么好处吗?

buildout.cfg片段:

<configure xmlns="http://namespaces.zope.org/zope"
    xmlns:db="http://namespaces.zope.org/db">
    <include package="z3c.saconfig" file="meta.zcml" />

    <db:engine name="dbmyapp" url="oracle://user:pass@hostname:port/sid" />
    <db:session name="dbmyapp" engine="dbmyapp" />
</configure>

1 个答案:

答案 0 :(得分:1)

会话机制负责为每个线程提供一个连接;因为你只能在一个线程中执行顺序代码,连接不会成为瓶颈。

代码的不同部分可以请求自己的会话;会话机制将根据需要重用会话连接。这通常不必担心,z3c.saconfig及其依赖关系都是为您处理的。