--===============1022713810425747842== Content-Type: multipart/signed; boundary="nextPart3471080.GSDXTeT1KQ"; micalg="pgp-sha1"; protocol="application/pgp-signature" --nextPart3471080.GSDXTeT1KQ Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" On Wednesday 26 of March 2014 13:06:23 Martin Steigerwald wrote: > Hi! >=20 > I reported >=20 > Bug 332626 - MySQL tuning: adaption of MySQL tuning options for large= r > accounts > https://bugs.kde.org/show_bug.cgi?id=3D332626 >=20 > > But its somewhat arguable, I know. >=20 Hi, I actually talked about optimizing mysql.conf with MariaDB people on FO= SDEM in=20 February. > I think I saw quite an improvement with raising the default low innod= b > buffer pool size of Akonadi of 80 MiB, which is even below the MySQL > default of 128 MiB, to 256 MiB helped with a 11 GiB large POP3 accoun= t, > especially when synchronizing linux-kernel-ml folder with about 22300= 0 > unread mails. And also on retrieving and filtering new mails there, w= hich > can make KMail quite unresponsive on a quite powerful machine (Sandyb= ridge, > 8 GB RAM, dual SSD BTRFS RAID 1). I will do some testing, yet it is > difficult to know for sure. mysqltuner.pl script gave some clear > recommendations tough, which are to high for a desktop machine tough,= I > think (>1 GiB of innodb buffer pool size). It seems it recommends adj= usting > to actual data size in database, which would only be suitable if all = of the > data is accessed often. The problem with innodb_buffer_pool_size is, that it directly impacts t= he=20 amount of RAM the mysqld process takes, which makes it difficult to fi= nd a =20 good compromise between what LKML subscribers need and what users with = couple=20 of calendars and an adressbook need. > What is the amount data Akonadi accesses frequently? Are there any > experiences with that? I bet it depends highly on how the user uses i= t and > the amount of mails in a single folder to be synchronized. This is difficult to say and I don't think anyone ever tried to benchma= rk or=20 measure it. Indeed it does depend on how you use Akonadi, an When you open a folder in KMail, we run SELECT * FROM PartTable WHERE parentCollection =3D XY AND partType =3D=20= "PLD:ENVELOPE" which will return all envelopes in the collection (that's subject, date= , from,=20 to, cc, bcc, ...) akonadi=3D# SELECT MIN(datasize), MAX(datasize), AVG(datasize) FROM Par= tTable=20 WHERE partTypeId =3D 3; min | max | avg =20 =2D----+-------+---------------------- 45 | 23354 | 487.8883434774372617 (1 row) akonadi=3D# SELECT datasize AS median FROM PartTable WHERE partTypeId =3D= 3 ORDER=20 BY datasize DESC OFFSET (SELECT (COUNT(*) + 1) / 2 FROM PartTable WHERE= =20 partTypeId =3D 3) LIMIT 1; median=20 =2D------- 451 (partTypeId =3D 3 =3D=3D SELECT id FROM PartTypeTable WHERE ns =3D 'PLD= ' AND=20 name=3D'ENVELOPE') Which makes roughly 6.5MB of data in a collection of 15 000 items. I do= n't=20 think we have any application (except for the indexer) that would reque= st the=20 full payload of all items in a collection of such size. I know KAddress= book=20 and KOrganizer do that, but the collections there are much smaller, and= so are=20 the actual payloads. >=20 > What do you think? I think we can try to play with the values a bit, having some kind of=20= benchmark or test tool would be nice :-) > Do you have any plans to switch to MariaDB and probably investigating= > storage engines which may be more suitable for tuning to desktop load= s? MariaDB is a drop-in replacement for MySQL, so it's supported by defaul= t (I've=20 been using MariaDB instead of MySQL for over year before I switched to = PSQL) AFAIK the only engine that we can really use is XtraDB, which is just a= n=20 enhanced fork of InnoDb. > InnoDB is difficult as innodb_buffer_pool_size needs to take free mem= ory > into account which can change quite rapidly on desktops or anything e= lse > than a dedicated database server. A engine which uses Linux pagecache= for > most of its caching would be interesting I think. Maybe we could have some kind of "initial setup" tool that would check=20= available memory and would update innodb_buffer_pool_size depending on = that=20 (taking in account some max limit, min limit, max percentage, ...) Cheers, Dan >=20 >=20 > Just wanted to raise this topic. > > Ciao, > Martin =2D-=20 Daniel Vr=E1til | dvratil@redhat.com | dvratil on #kde-devel, #kontact,= #akonadi KDE Desktop Team Associate Software Engineer, Red Hat, Inc. GPG Key: 0xC59D614F6F4AE348 Fingerprint: 4EC1 86E3 C54E 0B39 5FDD B5FB C59D 614F 6F4A E348 --nextPart3471080.GSDXTeT1KQ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQEcBAABAgAGBQJTMt5tAAoJEMWdYU9vSuNInY0IAIEczGkElalOAd10de3AejGH WAKqajpBDCUgrVVLPiO0FLLBwX6KUKvMADFWHNbR1giW8t9maWV8tqLPi3i6QGD9 EesOSfLpdeaM00i1T53Mv/zXSzek3cs5GQQayRIJWbzljAgI2B/UdZL4WmI0xsFS IyNl6ElM9S+utKXRZkMgq1G3PDWJwQndTNG/198vQidWRxqPUt5uVUukp5GgUzJM 9u5u4h43/5qhD1yrINFZRdt+VGMDPqQf5kzxqhvb9xTUQ3Hr1v194MfSYQdQxqR4 rMdAs6Ci8k70tuAo3YYSCwTAVxDTHhm1eIO0xS2GcsnE3RQxKsvvsmlojKoJqmA= =obSG -----END PGP SIGNATURE----- --nextPart3471080.GSDXTeT1KQ-- --===============1022713810425747842== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ KDE PIM mailing list kde-pim@kde.org https://mail.kde.org/mailman/listinfo/kde-pim KDE PIM home page at http://pim.kde.org/ --===============1022713810425747842==--