[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Sqlite akonadi transaction mode fix



Am Donnerstag, 22. Januar 2015, 11:09:46 schrieb Diederik de Haas:
> On Thursday 22 January 2015 10:50:53 Martin Steigerwald wrote:
> > As for updates to Debian packages, I´d like to see current akonadi 1.13
> > branch  packages, cause it contains quite some noticeable performance
> > updates regarding database access that made MySQL disappear from cpu usage
> > top for most of the time.
> 
> I have akonadi-server version 1.13.0-2 but I guess that's not the version
> you're talking about?
> Because MySQL still uses quite some CPU time on my machine ...

I don´t think 1.13 git branch changes I am talking about are in the akonadi 
packages from Debian yet.

I am compiling

git://anongit.kde.org/akonadi

commit c733429f4fa9696fb027ddc946e54f6bbb68deaf

branch 1.13

myself which is quite easy to do.

You can review the changes here:

http://quickgit.kde.org/?p=akonadi.git&a=shortlog&h=c733429f4fa9696fb027ddc946e54f6bbb68deaf

Millian and Dan made most of the optimizations.

It installs to /usr/local by default and thus can co-exist with installed 
akonadi packages.

I think unlike kdepim-runtime and kdepim it doesn´t need any env variables 
set. I currently have:

martin@merkaba:~> cat .kde/env/kdedirs.sh 
#!/bin/bash
if [ -z $KDEDIRS ]; then
        export KDEDIRS="/usr/local/"
else
        export KDEDIRS="/usr/local/:$KDEDIRS"
fi

if [ -z $QT_PLUGIN_PATH ]; then
        export QT_PLUGIN_PATH="/usr/local/lib/kde4"
else
        export QT_PLUGIN_PATH="/usr/local/lib/kde4:$QT_PLUGIN_PATH"
fi

to allow for loading KDE parts from /usr/local.

It may require with QT_PLUGIN_PATH thing, but I bet it doesn´t.

Compiling kdepim-runtime and kdepim will require this script. This worked as 
well, I just had some wierd crash issues after I removed a component from 
/usr/local only partially.

And of course, do not expect to get support from Debian packagers if you do 
this. :)

For the database optimizations its sufficient to just compile Akonadi server 
from repo I stated above.

To see whether it works use:

martin@merkaba:~> ps -eo cmd | grep akonadi
/usr/bin/akonaditray -session 
10cec7d36b000136049212900000022620134_1421676296_783918
grep akonadi
/usr/local/bin/akonadi_control
akonadiserver
/usr/sbin/mysqld --defaults-file=/home/martin/.local/share/akonadi/mysql.conf 
--datadir=/home/martin/.local/share/akonadi/db_data/ --socket=/tmp/akonadi-
martin.eQY0MM/mysql.socket
/usr/local/bin/akonadi_agent_launcher akonadi_akonotes_resource 
akonadi_akonotes_resource_2
/usr/bin/akonadi_archivemail_agent --identifier akonadi_archivemail_agent
/usr/bin/akonadi_baloo_indexer --identifier akonadi_baloo_indexer
/usr/bin/akonadi_birthdays_resource --identifier akonadi_birthdays_resource
/usr/local/bin/akonadi_agent_launcher akonadi_contacts_resource 
akonadi_contacts_resource_0
/usr/bin/akonadi_followupreminder_agent --identifier 
akonadi_followupreminder_agent
/usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_0
/usr/bin/akonadi_imap_resource --identifier akonadi_imap_resource_0
/usr/local/bin/akonadi_agent_launcher akonadi_maildir_resource 
akonadi_maildir_resource_0
/usr/bin/akonadi_maildispatcher_agent --identifier akonadi_maildispatcher_agent
/usr/bin/akonadi_mailfilter_agent --identifier akonadi_mailfilter_agent
/usr/bin/akonadi_migration_agent --identifier akonadi_migration_agent
/usr/bin/akonadi_newmailnotifier_agent --identifier akonadi_newmailnotifier_agent
/usr/bin/akonadi_notes_agent --identifier akonadi_notes_agent
/usr/bin/akonadi_pop3_resource --identifier akonadi_pop3_resource_0
/usr/bin/akonadi_pop3_resource --identifier akonadi_pop3_resource_1
/usr/bin/akonadi_pop3_resource --identifier akonadi_pop3_resource_2
/usr/bin/akonadi_pop3_resource --identifier akonadi_pop3_resource_4
/usr/bin/akonadi_pop3_resource --identifier akonadi_pop3_resource_5
/usr/bin/akonadi_pop3_resource --identifier akonadi_pop3_resource_6
/usr/bin/akonadi_sendlater_agent --identifier akonadi_sendlater_agent

Well akonadiserver doesn´t state its path in process name, so:

martin@merkaba:~> ls -l /proc/$(pgrep akonadiserver)/exe
lrwxrwxrwx 1 martin martin 0 Jan 21 22:39 /proc/23672/exe -> 
/usr/local/bin/akonadiserver


POP3 and IMAP resources are part of kdepim-runtime. I use the packages version 
here.

I am not aware of what kind of changes went in between 4.14.2 and 4.14.4, 
maybe there are some important bug fixes. Before compiling kdepim-runtime 
4.14.4 tough I would try to review the fixes that went it, to see whether its 
worth the ffort.

Thanks,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: