Using Plone 4 and pas.plugins.sqlalchemy with many users

I used pas.plugins.sqlalchemy to provide a database for an RDBMS to authenticate and store MemberData data using MySQL. Authentication works fine, and member data is correctly stored and retrieved on the DBMS. Current users over 20,000

However, listing users takes a lot of time. I checked β€œ Many Users ” under β€œPlone Control Panel” / β€œUsers and Groups,” but even a simple user search takes an almost infinite amount of time. While debugging the plugin.py script, I noticed that enumerateUsers () is called as many times as the number of users saved; therefore, to complete a simple search request, a huge amount of processor time is required, since the request is mapped to each user name, one user at a time, one request at a time.

Am I missing something? Is pas.plugins.sqlalchemy especially useful when you have a lot of users? I currently have the sql plugin as the top priority in my setting of * acl_users / plugins / User Enumeration *. Should I change this?

+4
source share
1 answer

I pretty much inherited the pas.plugins.sqlalchemy service - but I personally have not used it for more than a few users. If you pointed out the error at https://github.com/auspex/pas.plugins.sqlalchemy/issues , I will see what I can do.

I do not think that this can greatly affect the order in which the enumeration - it should still list all users in SQL db. Thus, he either makes them before those that are in ZODB, or after. It sounds like the problem starts with Zope - calling enumerateUsers () once for the user seems excessive - but even then, there is no need to query the relational db for an enumeration.

+5
source

All Articles