nilsteampassnet / TeamPass

Collaborative Passwords Manager
https://www.teampass.net
1.68k stars 547 forks source link

TeamPass 2.1.27.36 - Login and loading of folder Trees very slowly #2637

Open TreAHug opened 5 years ago

TreAHug commented 5 years ago

Hello,

we're preparing our transition from our old password safe to Teampass. For this we've exported our password Database to Teampass (around 400 Entries and some subfolders). But since we imported those passwords, Teampass experienced a massive drop in Performance.

I.e. the Login to Teampass for Users, which are allowed to access to the imported entries, takes about 15s. After this period it takes an additional 25 - 30s until the folder tree is completely loaded and all Items are accessible.

We already run an update to the latest version.

We are running Teampass on a virtual appliance (4GB, 4 Cores, Debian). The monitoring of the system resources aren't showing any bottlenecks,

juliocbc commented 5 years ago

Same problem here, after updating from 2.1.27. Working fine only on Firefox.

TreAHug commented 5 years ago

@juliocbc interesting! For us it's the same with Chrome, Firefox, Internet Explorer and Edge. So no difference between browsers at all.

juliocbc commented 5 years ago

The version that I'm using:

Screen Shot 2019-06-28 at 12 58 49

TreAHug commented 5 years ago

We are using the following versions.

image

image

bramyuh commented 5 years ago

For us, it's the same problem; but not browser-dependent. When we copy an item, create an item, it takes a few minutes sometimes....

So far, what I've have been seeing, is that when we do such actions, the cache table gets truncated (?) and then every item is inserted again. I've commented out the updateCacheTable function in some php files: that seems to solve the problem (at least a bit).... but then de search will slow down.

bramyuh commented 5 years ago

Ok. I've configured/optimized some settings in mariadb; instead of 30 inserts per second we now get some 300 inserts per second [edit: now a lot more, like 100000+]. This means it still needs some 4 or 5 seconds to complete while copying only one item to another folder. I think the slowness while logging into teampass and loading of the tree is somehow related; that is you should research about optimizing your database.

TreAHug commented 5 years ago

@bramyuh what changes did you do? How big was the effect on the search engine of Teampass?

Thank you very much, for your answer.

bramyuh commented 5 years ago

Hello @TreAHug, Sorry a bit late: in the end I left teampass as it is (updateCacheTable is in place). The search is... near immediate. in /etc/mysql/mariadb.conf.d/50-server.cnf: tmpdir = /run/mysqld further, I set the following variables. You should calculate your optimal settings for these. innodb_buffer_pool_size = 4096M # should be around 75% of your RAM innodb_buffer_pool_instances = 4 # 1 per GB of innodb_buffer_pool_size innodb_flush_log_at_trx_commit = 0 innodb_flush_log_at_timeout = 10 innodb_log_buffer_size = 8M innodb_log_file_size = 512M

TreAHug commented 5 years ago

@bramyuh thank you very much. Sadly this didn't help with our issue. We are going to look further into it. If there is no fix, we'll look into another tool.

nilsteampassnet commented 5 years ago

@TreAHug Can you please indicate me how many folders you have? Can you also share the tp.config.php please (please remove any sensitive data)? Does this happen for all users? Do you have LDAP authentication enabled? Could I access to your instance by Teamviewer to see what configuration of folders vs roles is in place?

TreAHug commented 5 years ago

@nilsteampassnet

I attached the tp.config.php.

We have around 600 Folders (give or take a few) Yes, LDAP is enabled. Can you check the config file?

A Teamviewer Session could be possible, but I have to clarify with a colleague the time slots.

tp.config.php.txt

nilsteampassnet commented 5 years ago

I believe it is the Windows LDAP connection that takes too long to answer. Would it be possible for you to disable temporary the LDAP auth, then connect with your account to check if still you have this slowness? Perhaps also try to reduce the number of domain controllers? Note that all my ldap tests are performed with posix.

TreAHug commented 5 years ago

@nilsteampassnet Thank you for your suggestions.

We tried the following:

As for a Teamviewer Session: We have the information if it would be possible by Wednesday. Is it possible to have a private conversation for initiating the session?

Again thank you very much for your assistance!

Kind regards

nilsteampassnet commented 5 years ago

Than k you for the tests. So it seems indeed related to LDAP. As this part is managed by a library, I need to check its configuration. Perhaps it could be optimized by using special parameters. I need to check.

nilsteampassnet commented 5 years ago

@TreAHug So I evaluated the changes. It exists a new version of the library. Its implementation requires a lot of changes as its usage is not the same.

As branch 3 is on good progress, I will implement this new library on it only. It is too much effort to perform this massive change on both branches. Can I suggest that until branch3 is deployed (end of November) you change your settings to use an internal ldap server?

TreAHug commented 5 years ago

@nilsteampassnet

Thanks for your suggestion. We are curious as to how the LDAP Connection is the issue? We thought we ruled it out by completely deactivating and using a local User. Since the issues persisted in this scenario, we are not sure how the LDAP Connection is still related.

What do you mean by "internal" LDAP Server? The internal Teampass User Database?

Kind regards Alexander Trescher

TreAHug commented 5 years ago

@nilsteampassnet Hello Nils, I wanted to know if you could answer my last question. Thank you very much in advance!

Kind regards Alexander

Thanks for your suggestion. We are curious as to how the LDAP Connection is the issue? We thought we ruled it out by completely deactivating and using a local User. Since the issues persisted in this scenario, we are not sure how the LDAP Connection is still related.

What do you mean by "internal" LDAP Server? The internal Teampass User Database?

ortizleo commented 4 years ago

Same problem here. Teampass is unusable, so slow.

mxyzplk commented 2 years ago

I had the same problem here. I don't use LDAP and the teampass here has 240 folders. Trying a new installation I noticed that with the clean install configuration file the slow behavior was gone. When I imported the one from my backup, the slow behavior resumed. Researching a little on the web it was suggested that maybe one PHP plugin was with a problem too. So I tried to switch off I few options. While I did not have time to isolate which option is the one causing the slow behavior, those 5 being turned off helped with the slow problem: The registry of user connections to the database and the registry of items visualization and the three notification emails options. Imo, the registry options and the email notification related to items exhibition are more likely to be the culprit as the are probably a lot triggered during the folders exihibition.