Very slow interface

VMWARE 6.7
Virtual Machine: 16core, 32 GB memory, ssd /(speed ~2000MB/s), raid 6 /mnt/ncdata (speed ~700MB/s)
extcloud version (19.0.1):
Operating system and version (Ubuntu 20.04):
Apache or nginx version ( Apache 2.4.25):
PHP version (PHP-FPM 7.4):
PostgreSQL 12 (DB 2GB)
PHP-FPM 7.4

  • Redis Memcache (latest stable version from PECL)
  • APCu local cache (latest stable version from PECL)
  • PHP-igbinary (latest stable version from PECL
  • PHP-smbclient (latest stable version from PECL)
    The installation was performed using an official script https://github.com/nextcloud/vm

The issue you are facing:

Terribly slow web interface, loads more than 5 seconds, even the “settings” are loaded very slowly.

Steps to replicate it:

  1. installed it, created users and shared folders…

The output of your Nextcloud log in Admin > Logging:

PASTE HERE
Error	cron	Doctrine\DBAL\Exception\DriverException: An exception occurred while executing 'UPDATE "oc_jobs" SET "reserved_at" = '0' WHERE "id" = ?' with params [5]: SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block
/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php - line 169:

Doctrine\DBAL\Driver\AbstractPostgreSQLDriver->convertException()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php - line 145:

Doctrine\DBAL\DBALException::wrapException()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php - line 1063:

Doctrine\DBAL\DBALException::driverExceptionDuringQuery()

/var/www/nextcloud/lib/private/DB/Connection.php - line 214:

Doctrine\DBAL\Connection->executeUpdate()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php - line 203:

OC\DB\Connection->executeUpdate()

/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 216:

Doctrine\DBAL\Query\QueryBuilder->execute()

/var/www/nextcloud/lib/private/BackgroundJob/JobList.php - line 310:

OC\DB\QueryBuilder\QueryBuilder->execute()

/var/www/nextcloud/lib/private/BackgroundJob/JobList.php - line 295:

OC\BackgroundJob\JobList->unlockJob()

/var/www/nextcloud/cron.php - line 130:

OC\BackgroundJob\JobList->setLastJob()

По причинеDoctrine\DBAL\Driver\PDOException: SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block
/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php - line 1054:

Doctrine\DBAL\Driver\PDOStatement->execute()

/var/www/nextcloud/lib/private/DB/Connection.php - line 214:

Doctrine\DBAL\Connection->executeUpdate()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php - line 203:

OC\DB\Connection->executeUpdate()

/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 216:

Doctrine\DBAL\Query\QueryBuilder->execute()

/var/www/nextcloud/lib/private/BackgroundJob/JobList.php - line 310:

OC\DB\QueryBuilder\QueryBuilder->execute()

/var/www/nextcloud/lib/private/BackgroundJob/JobList.php - line 295:

OC\BackgroundJob\JobList->unlockJob()

/var/www/nextcloud/cron.php - line 130:

OC\BackgroundJob\JobList->setLastJob()

По причинеPDOException: SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block
/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php - line 117:

PDOStatement->execute()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php - line 1054:

Doctrine\DBAL\Driver\PDOStatement->execute()

/var/www/nextcloud/lib/private/DB/Connection.php - line 214:

Doctrine\DBAL\Connection->executeUpdate()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php - line 203:

OC\DB\Connection->executeUpdate()

/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 216:

Doctrine\DBAL\Query\QueryBuilder->execute()

/var/www/nextcloud/lib/private/BackgroundJob/JobList.php - line 310:

OC\DB\QueryBuilder\QueryBuilder->execute()

/var/www/nextcloud/lib/private/BackgroundJob/JobList.php - line 295:

OC\BackgroundJob\JobList->unlockJob()

/var/www/nextcloud/cron.php - line 130:

OC\BackgroundJob\JobList->setLastJob()

The output of your config.php file in `/path/to/nextcloud` (make sure you remove any identifiable information!):
Doctrine\DBAL\Exception\DriverException: An exception occurred while executing 'UPDATE "oc_jobs" SET "execution_duration" = ? WHERE "id" = ?' with params [8, 5]: SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block
/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php - line 169:

Doctrine\DBAL\Driver\AbstractPostgreSQLDriver->convertException()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php - line 145:

Doctrine\DBAL\DBALException::wrapException()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php - line 1063:

Doctrine\DBAL\DBALException::driverExceptionDuringQuery()

/var/www/nextcloud/lib/private/DB/Connection.php - line 214:

Doctrine\DBAL\Connection->executeUpdate()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php - line 203:

OC\DB\Connection->executeUpdate()

/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 216:

Doctrine\DBAL\Query\QueryBuilder->execute()

/var/www/nextcloud/lib/private/BackgroundJob/JobList.php - line 347:

OC\DB\QueryBuilder\QueryBuilder->execute()

/var/www/nextcloud/lib/private/BackgroundJob/Job.php - line 66:

OC\BackgroundJob\JobList->setExecutionTime()

/var/www/nextcloud/lib/private/BackgroundJob/TimedJob.php - line 57:

OC\BackgroundJob\Job->execute()

/var/www/nextcloud/cron.php - line 126:

OC\BackgroundJob\TimedJob->execute()

По причинеDoctrine\DBAL\Driver\PDOException: SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block
/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php - line 1054:

Doctrine\DBAL\Driver\PDOStatement->execute()

/var/www/nextcloud/lib/private/DB/Connection.php - line 214:

Doctrine\DBAL\Connection->executeUpdate()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php - line 203:

OC\DB\Connection->executeUpdate()

/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 216:

Doctrine\DBAL\Query\QueryBuilder->execute()

/var/www/nextcloud/lib/private/BackgroundJob/JobList.php - line 347:

OC\DB\QueryBuilder\QueryBuilder->execute()

/var/www/nextcloud/lib/private/BackgroundJob/Job.php - line 66:

OC\BackgroundJob\JobList->setExecutionTime()

/var/www/nextcloud/lib/private/BackgroundJob/TimedJob.php - line 57:

OC\BackgroundJob\Job->execute()

/var/www/nextcloud/cron.php - line 126:

OC\BackgroundJob\TimedJob->execute()
Error	files	Doctrine\DBAL\Exception\DriverException: An exception occurred while executing 'SELECT "id", "numeric_id", "available", "last_checked" FROM "oc_storages" WHERE "id" = ?' with params ["home::zhilkind"]: SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block
/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php - line 169:

Doctrine\DBAL\Driver\AbstractPostgreSQLDriver->convertException()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php - line 145:

Doctrine\DBAL\DBALException::wrapException()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php - line 911:

Doctrine\DBAL\DBALException::driverExceptionDuringQuery()

/var/www/nextcloud/lib/private/DB/Connection.php - line 194:

Doctrine\DBAL\Connection->executeQuery()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php - line 200:

OC\DB\Connection->executeQuery()

/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 216:

Doctrine\DBAL\Query\QueryBuilder->execute()

/var/www/nextcloud/lib/private/Files/Cache/StorageGlobal.php - line 77:

OC\DB\QueryBuilder\QueryBuilder->execute()

/var/www/nextcloud/lib/private/Files/Cache/Storage.php - line 97:

OC\Files\Cache\StorageGlobal->getStorageInfo()

/var/www/nextcloud/lib/private/Files/Cache/Storage.php - line 75:

OC\Files\Cache\Storage::getStorageById()

/var/www/nextcloud/lib/private/Files/Cache/Cache.php - line 109:

OC\Files\Cache\Storage->__construct()

/var/www/nextcloud/lib/private/Files/Storage/Home.php - line 71:

OC\Files\Cache\Cache->__construct()

/var/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php - line 394:

OC\Files\Storage\Home->getCache()

/var/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php - line 394:

OC\Files\Storage\Wrapper\Wrapper->getCache()

/var/www/nextcloud/lib/private/Files/Mount/MountPoint.php - line 272:

OC\Files\Storage\Wrapper\Wrapper->getCache()

/var/www/nextcloud/lib/private/Files/Filesystem.php - line 440:

OC\Files\Mount\MountPoint->getStorageRootId()

/var/www/nextcloud/lib/private/Files/Filesystem.php - line 376:

OC\Files\Filesystem::initMountPoints()

/var/www/nextcloud/lib/private/legacy/OC_Util.php - line 308:

OC\Files\Filesystem::init()

/var/www/nextcloud/lib/private/Files/Utils/Scanner.php - line 116:

OC_Util::setupFS()

/var/www/nextcloud/lib/private/Files/Utils/Scanner.php - line 155:

OC\Files\Utils\Scanner->getMounts()

/var/www/nextcloud/apps/files/lib/BackgroundJob/ScanFiles.php - line 83:

OC\Files\Utils\Scanner->backgroundScan()

/var/www/nextcloud/apps/files/lib/BackgroundJob/ScanFiles.php - line 111:

OCA\Files\BackgroundJob\ScanFiles->runScanner()

/var/www/nextcloud/lib/private/BackgroundJob/Job.php - line 62:

OCA\Files\BackgroundJob\ScanFiles->run()

/var/www/nextcloud/lib/private/BackgroundJob/TimedJob.php - line 57:

OC\BackgroundJob\Job->execute()

/var/www/nextcloud/cron.php - line 126:

OC\BackgroundJob\TimedJob->execute()

По причинеDoctrine\DBAL\Driver\PDOException: SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block
/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php - line 903:

Doctrine\DBAL\Driver\PDOStatement->execute()

/var/www/nextcloud/lib/private/DB/Connection.php - line 194:

Doctrine\DBAL\Connection->executeQuery()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php - line 200:

OC\DB\Connection->executeQuery()

/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 216:

Doctrine\DBAL\Query\QueryBuilder->execute()

/var/www/nextcloud/lib/private/Files/Cache/StorageGlobal.php - line 77:

OC\DB\QueryBuilder\QueryBuilder->execute()

/var/www/nextcloud/lib/private/Files/Cache/Storage.php - line 97:

OC\Files\Cache\StorageGlobal->getStorageInfo()

/var/www/nextcloud/lib/private/Files/Cache/Storage.php - line 75:

OC\Files\Cache\Storage::getStorageById()

/var/www/nextcloud/lib/private/Files/Cache/Cache.php - line 109:

OC\Files\Cache\Storage->__construct()

/var/www/nextcloud/lib/private/Files/Storage/Home.php - line 71:

OC\Files\Cache\Cache->__construct()

/var/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php - line 394:

OC\Files\Storage\Home->getCache()

/var/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php - line 394:

OC\Files\Storage\Wrapper\Wrapper->getCache()

/var/www/nextcloud/lib/private/Files/Mount/MountPoint.php - line 272:

OC\Files\Storage\Wrapper\Wrapper->getCache()

/var/www/nextcloud/lib/private/Files/Filesystem.php - line 440:

OC\Files\Mount\MountPoint->getStorageRootId()

/var/www/nextcloud/lib/private/Files/Filesystem.php - line 376:

OC\Files\Filesystem::initMountPoints()

/var/www/nextcloud/lib/private/legacy/OC_Util.php - line 308:

OC\Files\Filesystem::init()

/var/www/nextcloud/lib/private/Files/Utils/Scanner.php - line 116:

OC_Util::setupFS()

/var/www/nextcloud/lib/private/Files/Utils/Scanner.php - line 155:

OC\Files\Utils\Scanner->getMounts()

/var/www/nextcloud/apps/files/lib/BackgroundJob/ScanFiles.php - line 83:

OC\Files\Utils\Scanner->backgroundScan()

/var/www/nextcloud/apps/files/lib/BackgroundJob/ScanFiles.php - line 111:

OCA\Files\BackgroundJob\ScanFiles->runScanner()

/var/www/nextcloud/lib/private/BackgroundJob/Job.php - line 62:

OCA\Files\BackgroundJob\ScanFiles->run()

/var/www/nextcloud/lib/private/BackgroundJob/TimedJob.php - line 57:

OC\BackgroundJob\Job->execute()

/var/www/nextcloud/cron.php - line 126:

OC\BackgroundJob\TimedJob->execute()

По причинеPDOException: SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block
/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php - line 117:

PDOStatement->execute()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php - line 903:

Doctrine\DBAL\Driver\PDOStatement->execute()

/var/www/nextcloud/lib/private/DB/Connection.php - line 194:

Doctrine\DBAL\Connection->executeQuery()

/var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php - line 200:

OC\DB\Connection->executeQuery()

/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 216:

Doctrine\DBAL\Query\QueryBuilder->execute()

/var/www/nextcloud/lib/private/Files/Cache/StorageGlobal.php - line 77:

OC\DB\QueryBuilder\QueryBuilder->execute()

/var/www/nextcloud/lib/private/Files/Cache/Storage.php - line 97:

OC\Files\Cache\StorageGlobal->getStorageInfo()

/var/www/nextcloud/lib/private/Files/Cache/Storage.php - line 75:

OC\Files\Cache\Storage::getStorageById()

/var/www/nextcloud/lib/private/Files/Cache/Cache.php - line 109:

OC\Files\Cache\Storage->__construct()

/var/www/nextcloud/lib/private/Files/Storage/Home.php - line 71:

OC\Files\Cache\Cache->__construct()

/var/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php - line 394:

OC\Files\Storage\Home->getCache()

/var/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php - line 394:

OC\Files\Storage\Wrapper\Wrapper->getCache()

/var/www/nextcloud/lib/private/Files/Mount/MountPoint.php - line 272:

OC\Files\Storage\Wrapper\Wrapper->getCache()

/var/www/nextcloud/lib/private/Files/Filesystem.php - line 440:

OC\Files\Mount\MountPoint->getStorageRootId()

/var/www/nextcloud/lib/private/Files/Filesystem.php - line 376:

OC\Files\Filesystem::initMountPoints()

/var/www/nextcloud/lib/private/legacy/OC_Util.php - line 308:

OC\Files\Filesystem::init()

/var/www/nextcloud/lib/private/Files/Utils/Scanner.php - line 116:

OC_Util::setupFS()

/var/www/nextcloud/lib/private/Files/Utils/Scanner.php - line 155:

OC\Files\Utils\Scanner->getMounts()

/var/www/nextcloud/apps/files/lib/BackgroundJob/ScanFiles.php - line 83:

OC\Files\Utils\Scanner->backgroundScan()

/var/www/nextcloud/apps/files/lib/BackgroundJob/ScanFiles.php - line 111:

OCA\Files\BackgroundJob\ScanFiles->runScanner()

/var/www/nextcloud/lib/private/BackgroundJob/Job.php - line 62:

OCA\Files\BackgroundJob\ScanFiles->run()

/var/www/nextcloud/lib/private/BackgroundJob/TimedJob.php - line 57:

OC\BackgroundJob\Job->execute()

/var/www/nextcloud/cron.php - line 126:

OC\BackgroundJob\TimedJob->execute()
$CONFIG = array (
  'passwordsalt' => 'password',
  'secret' => 'password',
  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => '192.168.1.7',
    2 => 'cloud.domen.ru',
    3 => 'office.domen.ru',
  ),
  'datadirectory' => '/mnt/ncdata',
  'dbtype' => 'pgsql',
  'version' => '19.0.1.1',
  'overwrite.cli.url' => 'https://cloud.domen.ru/',
  'dbname' => 'nextcloud_db',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'ncadmin',
  'dbpassword' => 'password',
  'installed' => true,
  'instanceid' => 'ertyeryery',
  'upgrade.disable-web' => 'true',
  'log_type' => 'file',
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'loglevel' => '2',
  'log.condition' =>
  array (
    'apps' =>
    array (
      0 => 'admin_audit',
    ),
  ),
  'mail_smtpmode' => 'smtp',
  'remember_login_cookie_lifetime' => '1800',
  'log_rotate_size' => '10485760',
  'trashbin_retention_obligation' => 'auto, 180',
  'versions_retention_obligation' => 'auto, 365',
  'simpleSignUpLink.shown' => false,
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'filelocking.enabled' => true,
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => '/var/run/redis/redis-server.sock',
    'port' => 0,
    'timeout' => 0.5,
    'dbindex' => 0,
    'password' => 'password',
  ),
  'maintenance' => false,
  'logtimezone' => 'Europe/Moscow',
  'htaccess.RewriteBase' => '/',
  'share_folder' => '/Shared',
  'enable_previews' => true,
  'enabledPreviewProviders' =>
  array (
    0 => 'OC\\Preview\\PNG',
    1 => 'OC\\Preview\\JPEG',
    2 => 'OC\\Preview\\GIF',
    3 => 'OC\\Preview\\BMP',
    4 => 'OC\\Preview\\MarkDown',
    5 => 'OC\\Preview\\MP3',
    6 => 'OC\\Preview\\TXT',
    7 => 'OC\\Preview\\Movie',
    8 => 'OC\\Preview\\Photoshop',
    9 => 'OC\\Preview\\SVG',
    10 => 'OC\\Preview\\TIFF',
  ),
  'preview_max_x' => '2048',
  'preview_max_y' => '2048',
  'jpeg_quality' => '60',
  'ldapIgnoreNamingRules' => false,
  'ldapProviderFactory' => 'OCA\\User_LDAP\\LDAPProviderFactory',
);

The output of your Apache/nginx/system log in /var/log/____:

[Sun Aug 16 00:00:01.653699 2020] [mpm_event:notice] [pid 1371:tid 140520954858560] AH00489: Apache/2.4.41 (Ubuntu) OpenSSL/1.1.1f configured>
[Sun Aug 16 00:00:01.653721 2020] [core:notice] [pid 1371:tid 140520954858560] AH00094: Command line: '/usr/sbin/apache2'
[Sun Aug 16 11:47:37.245419 2020] [mpm_event:notice] [pid 1371:tid 140520954858560] AH00491: caught SIGTERM, shutting down
[Sun Aug 16 11:48:50.183943 2020] [mpm_event:notice] [pid 1533:tid 140207209524288] AH00489: Apache/2.4.41 (Ubuntu) OpenSSL/1.1.1f configured>
[Sun Aug 16 11:48:50.184298 2020] [core:notice] [pid 1533:tid 140207209524288] AH00094: Command line: '/usr/sbin/apache2'
[Sun Aug 16 13:09:22.408473 2020] [proxy_fcgi:error] [pid 1538:tid 140206933128960] [client 172.16.1.14:58801] AH01067: Failed to read FastCG>
[Sun Aug 16 13:09:22.408521 2020] [proxy_fcgi:error] [pid 1538:tid 140206933128960] (104)Connection reset by peer: [client 172.16.1.14:58801]>
[Sun Aug 16 13:09:22.427890 2020] [mpm_event:notice] [pid 1533:tid 140207209524288] AH00491: caught SIGTERM, shutting down
[Sun Aug 16 13:09:51.731853 2020] [mpm_event:notice] [pid 1496:tid 140156241042496] AH00489: Apache/2.4.41 (Ubuntu) OpenSSL/1.1.1f configured>
[Sun Aug 16 13:09:51.732559 2020] [core:notice] [pid 1496:tid 140156241042496] AH00094: Command line: '/usr/sbin/apache2'

Why do you have this database error? Is there a timeout or problem on the database (check database log if you find more). One thing that can dramatically increase the speed is to optimize the database cache settings, you can use tuning-primer.sh and mysqltuner to analyse current settings (they need you to run the database for some time).

Beyond of that, you need to find the bottleneck. You use ldap and smb, is the speed different if you do not use LDAP or access on local storage?
With iotop, top etc. you can check during the loading which process takes a lot of CPU/memory/ io-operations.

I have postgresql. Disks are not more than 3% occupied when the page is opened.
Here is the DB test:
progress: 60.0 s, 8146.0 tps, lat 5.852 ms stddev 1.964
progress: 120.0 s, 8271.7 tps, lat 5.796 ms stddev 1.788
progress: 180.0 s, 8385.8 tps, lat 5.714 ms stddev 1.215
progress: 240.0 s, 8164.4 tps, lat 5.884 ms stddev 2.627
progress: 300.0 s, 8174.1 tps, lat 5.868 ms stddev 2.648
progress: 360.0 s, 8337.2 tps, lat 5.750 ms stddev 1.709
progress: 420.0 s, 8177.7 tps, lat 5.851 ms stddev 1.674
progress: 480.0 s, 7934.1 tps, lat 6.022 ms stddev 1.991
progress: 540.0 s, 7887.8 tps, lat 6.095 ms stddev 2.059
progress: 600.0 s, 8094.4 tps, lat 5.924 ms stddev 1.786
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 150
query mode: simple
number of clients: 100
number of threads: 2
duration: 600 s
number of transactions actually processed: 4894425
latency average = 5.874 ms
latency stddev = 1.990 ms
tps = 8156.557130 (including connections establishing)
tps = 8156.625129 (excluding connections establishing)

Speed normal?

postgres setting

max_connections = 200
shared_buffers = 4GB
effective_cache_size = 12GB
maintenance_work_mem = 1GB
checkpoint_completion_target = 0.7
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 5242kB
min_wal_size = 1GB
max_wal_size = 4GB
max_worker_processes = 16
max_parallel_workers_per_gather = 4
max_parallel_workers = 16
max_parallel_maintenance_workers = 4

Maybe there is some tester that could point to the thin spots in the system to use nextcloud, such as bitrix, which on a less powerful system on the same server just flies. ?