[kronolith] Slow load caledars intems with dynamic mode

Arjen de Korte build+horde at de-korte.org
Wed Mar 27 22:17:39 UTC 2019


Citeren Paul Ronald <jhon.higgins at gmail.com>:

> On Tue, Mar 26, 2019 at 1:35 PM Ralf Lang <lang at b1-systems.de> wrote:
>
>> Hi Paul,
>>
>> Am 26.03.2019 um 12:22 schrieb Paul Ronald:
>> > Hello,
>> > The load of calendars items is very slow in dynamic mode, about 15
>> seconds.
>> > The same calendars in basic mode take about 5 seconds.
>> >
>> > Firefox show that services/ajax.php/kronolith/listCalendars take about 9
>> > seconds.
>> > I would to get a best performance into the load of calendars with dynamic
>> > mode.
>> >
>> > My installation of Horde has this versions:
>> >
>> >
>> >    - Horde Groupware Webmail Editio Horde Groupware Webmail Edition
>> 5.2.22
>> >    - kronolith 4.2.23
>> >    - gollem 3.0.12
>> >    - turba 4.2.21
>> >    - imp 6.2.21
>> >    - ingo 3.2.16
>> >    - horde 5.2.17
>> >    - mnemo 4.2.14
>> >    - nag 4.2.17
>> >
>> >
>> > Best regards
>>
>> Such long roundtrip times may indicate there is an issue somewhere along
>> the road.
>>
>> Could be anything:
>>
>> - DB
>>
>> - DNS resolution
>>
>> - tzdata retrieval
>> - various caching topics
>>
>> Hard to tell without further data.
>>
>> Can you post an excerpt of your horde and kronolith conf.php files?
>>
>> Regards
>>
>>
>> Ralf
>>
>> --
>> Ralf Lang
>> Linux Consultant / Developer
>> Tel.: +49-170-6381563
>> Mail: lang at b1-systems.de
>> B1 Systems GmbH
>> Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
>> GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537
>>
>>
> Hi,
> This is my config of Horde and kronolith
>
> Horde conf.php
> //----------------------------------------------------------------------------------------------------
> $conf['vhosts'] = false;
> $conf['debug_level'] = E_ALL & ~E_NOTICE;
> $conf['max_exec_time'] = 0;
> $conf['compress_pages'] = true;
> $conf['secret_key'] = '53847cf7-2458-4cdc-ae8e-1c89a37dc8ce';
> $conf['umask'] = 077;
> $conf['testdisable'] = true;
> $conf['tmpdir'] = '/var/www/html/tmp';
> $conf['use_ssl'] = 1;
> $conf['server']['name'] = $_SERVER['SERVER_NAME'];
> $conf['urls']['token_lifetime'] = 30;
> $conf['urls']['hmac_lifetime'] = 30;
> $conf['urls']['pretty'] = false;
> $conf['safe_ips'] = array();
> $conf['session']['name'] = 'Horde';
> $conf['session']['use_only_cookies'] = true;
> $conf['session']['timeout'] = 0;
> $conf['session']['cache_limiter'] = 'nocache';
> $conf['session']['max_time'] = 72000;
> $conf['cookie']['domain'] = $_SERVER['SERVER_NAME'];
> $conf['cookie']['path'] = '/';
> $conf['sql']['username'] = 'xxxxxxx';
> $conf['sql']['password'] = 'xxxxxxxx';
> $conf['sql']['hostspec'] = 'xxxxxxxx';

I assume the 'xxxxxxxx' mean the database is not on your webserver.  
Performance wise, this may not be a good idea. Especially when it  
comes to Kronolith (this is a very database intensive application).  
Worth investigation.

> $conf['sql']['port'] = 3306;
> $conf['sql']['protocol'] = 'tcp';
> $conf['sql']['database'] = 'xxxxxxxx';
> $conf['sql']['charset'] = 'utf-8';
> $conf['sql']['ssl'] = true;
> $conf['sql']['splitread'] = false;
> $conf['sql']['logqueries'] = false;
> $conf['sql']['phptype'] = 'mysql';
> $conf['nosql']['phptype'] = false;
> $conf['ldap']['useldap'] = false;
> $conf['auth']['admins'] = array('postmaster at xxxxxx');
> $conf['auth']['checkip'] = true;
> $conf['auth']['checkbrowser'] = true;
> $conf['auth']['resetpassword'] = false;
> $conf['auth']['alternate_login'] = false;
> $conf['auth']['redirect_on_logout'] = false;
> $conf['auth']['list_users'] = 'list';
> $conf['auth']['params']['app'] = 'imp';
> $conf['auth']['driver'] = 'application';
> $conf['auth']['params']['count_bad_logins'] = false;
> $conf['auth']['params']['login_block'] = false;
> $conf['auth']['params']['login_block_count'] = 5;
> $conf['auth']['params']['login_block_time'] = 5;
> $conf['signup']['allow'] = false;
> $conf['log']['priority'] = 'NOTICE';

This is pretty verbose logging. Consider raising this to 'ERR'.

> $conf['log']['ident'] = 'HORDE';
> $conf['log']['name'] = xxxxxxxx;
> $conf['log']['type'] = 'syslog';
> $conf['log']['enabled'] = true;
> $conf['log_accesskeys'] = false;
> $conf['prefs']['maxsize'] = 65535;
> $conf['prefs']['params']['driverconfig'] = 'horde';
> $conf['prefs']['driver'] = 'Sql';
> $conf['alarms']['params']['driverconfig'] = 'horde';
> $conf['alarms']['params']['ttl'] = 300;
> $conf['alarms']['driver'] = 'Sql';
> $conf['group']['params']['driverconfig'] = 'horde';
> $conf['group']['driver'] = 'Sql';
> $conf['perms']['driverconfig'] = 'horde';
> $conf['perms']['driver'] = 'Sql';
> $conf['share']['no_sharing'] = false;
> $conf['share']['auto_create'] = true;
> $conf['share']['world'] = false;
> $conf['share']['any_group'] = false;
> $conf['share']['hidden'] = false;
> $conf['share']['cache'] = false;
> $conf['share']['driver'] = 'Sqlng';
> $conf['cache']['default_lifetime'] = 86400;
> $conf['cache']['driver'] = 'Hashtable';
> $conf['cache']['use_memorycache'] = '';
> $conf['cachecssparams']['driver'] = 'filesystem';
> $conf['cachecssparams']['filemtime'] = false;
> $conf['cachecssparams']['lifetime'] = 86400;
> $conf['cachecss'] = true;
> $conf['cachejsparams']['driver'] = 'filesystem';
> $conf['cachejsparams']['compress'] = 'php';
> $conf['cachejsparams']['lifetime'] = 604800;
> $conf['cachejs'] = true;
> $conf['cachethemesparams']['check'] = 'appversion';
> $conf['cachethemesparams']['lifetime'] = 604800;
> $conf['cachethemes'] = true;
> $conf['lock']['params']['driverconfig'] = 'horde';
> $conf['lock']['driver'] = 'Sql';
> $conf['token']['params']['driverconfig'] = 'horde';
> $conf['token']['driver'] = 'Sql';
> $conf['history']['params']['driverconfig'] = 'horde';
> $conf['history']['driver'] = 'Sql';
> $conf['davstorage']['params']['driverconfig'] = 'horde';
> $conf['davstorage']['driver'] = 'Sql';
> $conf['mailer']['params']['host'] = 'smtpserver';
> $conf['mailer']['params']['port'] = 25;
> $conf['mailer']['params']['secure'] = 'tls';
> $conf['mailer']['params']['username_auth'] = true;
> $conf['mailer']['params']['password_auth'] = true;
> $conf['mailer']['params']['auth'] = true;
> $conf['mailer']['params']['lmtp'] = false;
> $conf['mailer']['type'] = 'smtp';
> $conf['vfs']['params']['driverconfig'] = 'horde';
> $conf['vfs']['type'] = 'Sql';

This is a slow VFS driver. Probably not relevant in this case.

> $conf['sessionhandler']['type'] = 'Builtin';
> $conf['sessionhandler']['hashtable'] = false;
> $conf['spell']['params']['path'] = '/usr/bin/aspell';
> $conf['spell']['driver'] = 'aspell';
> $conf['gnupg']['keyserver'] = array('pool.sks-keyservers.net');
> $conf['gnupg']['timeout'] = 10;
> $conf['nobase64_img'] = false;
> $conf['image']['driver'] = 'Imagick';
> $conf['exif']['driver'] = 'Bundled';
> $conf['timezone']['location'] = 'file:///var/www/html/tzdata-latest.tar.gz';
> $conf['problems']['email'] = 'webmaster at example.com';
> $conf['problems']['maildomain'] = 'example.com';
> $conf['problems']['tickets'] = false;
> $conf['problems']['attachments'] = true;
> $conf['menu']['links']['help'] = 'never';
> $conf['menu']['links']['prefs'] = 'authenticated';
> $conf['menu']['links']['problem'] = 'never';
> $conf['menu']['links']['login'] = 'all';
> $conf['menu']['links']['logout'] = 'authenticated';
> $conf['portal']['fixed_blocks'] = array();
> $conf['accounts']['driver'] = 'null';
> $conf['user']['verify_from_addr'] = true;
> $conf['user']['select_view'] = true;
> $conf['facebook']['enabled'] = false;
> $conf['twitter']['enabled'] = false;
> $conf['urlshortener'] = false;
> $conf['weather']['provider'] = false;
> $conf['imap']['enabled'] = false;
> $conf['imsp']['enabled'] = false;
> $conf['kolab']['enabled'] = false;
> $conf['hashtable']['params']['hostspec'] = array('localhost');
> $conf['hashtable']['params']['port'] = array('11211');
> $conf['hashtable']['params']['weight'] = array();
> $conf['hashtable']['params']['persistent'] = true;
> $conf['hashtable']['params']['c_threshold'] = 0;
> $conf['hashtable']['params']['compression'] = true;
> $conf['hashtable']['params']['large_items'] = true;
> $conf['hashtable']['driver'] = 'Memcache';
> $conf['activesync']['params']['driverconfig'] = 'horde';
> $conf['activesync']['storage'] = 'Sql';
> $conf['activesync']['emailsync'] = true;
> $conf['activesync']['version'] = '14.1';
> $conf['activesync']['auth']['type'] = 'basic';
> $conf['activesync']['autodiscovery'] = 'full';
> $conf['activesync']['outlookdiscovery'] = false;
> $conf['activesync']['logging']['type'] = false;
> $conf['activesync']['ping']['heartbeatmin'] = 60;
> $conf['activesync']['ping']['heartbeatmax'] = 2700;
> $conf['activesync']['ping']['heartbeatdefault'] = 480;
> $conf['activesync']['ping']['deviceping'] = true;
> $conf['activesync']['ping']['waitinterval'] = 15;
> $conf['activesync']['enabled'] = true;
> //----------------------------------------------------------------------------------------------------
> kronolith conf
> $conf['calendar']['params']['table'] = 'kronolith_events';
> $conf['calendar']['params']['driverconfig'] = 'horde';
> $conf['calendar']['params']['utc'] = true;
> $conf['calendar']['driver'] = 'sql';
> $conf['storage']['params']['table'] = 'kronolith_storage';
> $conf['storage']['params']['driverconfig'] = 'horde';
> $conf['storage']['driver'] = 'sql';
> $conf['calendars']['driver'] = 'default';
> $conf['resource']['params']['table'] = 'kronolith_resources';
> $conf['resource']['params']['driverconfig'] = 'horde';
> $conf['resource']['params']['utc'] = true;
> $conf['resource']['driver'] = 'sql';
> $conf['autoshare']['shareperms'] = 'none';
> $conf['share']['notify'] = true;
> $conf['holidays']['enable'] = true;
> $conf['menu']['import_export'] = true;
> $conf['maps']['driver'] = false;
>
>
>  Best regards





More information about the kronolith mailing list