If and only if dovecot index does not have saved in the index
from BODY of messages the problem is your/my disk subsystem.
Generally, messages from mailing list like this are pretty small. The
problem is that dovecot must read all messages. If you have maildir
its
mean open and read many files.
But my test search was agains archive of my personal inbox - so not
onoy
small messages like this but also messages with big attachments etc.
If dovecot index only headers, than it in case of full text search
read
whole messages - mime parts allows that plain text body can be after
attachment etc.
And here is it all about iops and throughput.
How many disks you have? And what setup?
Generally, the only good setup is many smaller disks in RAID 10
(stripped mirrors) and if your fs allows it, with added read cache -
in
case of zfs: l2arc on ssd.
Pete
On Thursday, January 29, 2015, Kevin Laurie <
superinterstellar@gmail.com>
wrote:
> Hi Peter,
> Sorry,
>
> I think its maildir
> Output of my dovecot -n is listed below:-
>
>
>
>
>
>
>
>
> # 2.2.9: /etc/dovecot/dovecot.conf
> # OS: Linux 3.10.62-xenU-25-0e6777a-x86_64 x86_64 Ubuntu 14.04.1 LTS
> auth_master_user_separator = *
> auth_mechanisms = PLAIN LOGIN
> dict {
> acl = mysql:/etc/dovecot/dovecot-
> share-folder.conf
> quotadict = mysql:/etc/dovecot/dovecot-used-quota.conf
> }
> first_valid_uid = 2000
> last_valid_uid = 2000
> listen = *
> log_path = /var/log/dovecot.log
> mail_debug = yes
> mail_gid = 2000
> mail_location = maildir:/%Lh/Maildir/:INDEX=/%Lh/Maildir/
> mail_plugins = quota fts
> mail_uid = 2000
> managesieve_notify_capability = mailto
> managesieve_sieve_capability = fileinto reject envelope
> encoded-character vacation subaddress comparator-i;ascii-numeric
relational
> regex imap4flags copy include variables body enotify environment
mailbox
> date ihave
> namespace {
> inbox = yes
> location =
> mailbox Drafts {
> auto = subscribe
> special_use = \Drafts
> }
> mailbox Junk {
> auto = subscribe
> special_use = \Junk
> }
> mailbox Sent {
> auto = subscribe
> special_use = \Sent
> }
> mailbox "Sent Messages" {
> auto = no
> special_use = \Sent
> }
> mailbox Spam {
> auto = no
> special_use = \Junk
> }
> mailbox Trash {
> auto = subscribe
> special_use = \Trash
> }
> prefix =
> separator = /
> type = private
> }
> namespace {
> list = children
> location = maildir:/%%Lh/Maildir/:INDEX=/%%Lh/Maildir/Shared/%%u
> prefix = Shared/%%u/
> separator = /
> subscriptions = yes
> type = shared
> }
> passdb {
> args = /etc/dovecot/dovecot-mysql.conf
> driver = sql
> }
> passdb {
> args = /etc/dovecot/dovecot-master-users-password
> driver = passwd-file
> master = yes
> }
> plugin {
> acl = vfile
> acl_shared_dict = proxy::acl
> auth_socket_path = /var/run/dovecot/auth-master
> quota = dict:user::proxy::quotadict
> quota_rule = *:storage=1G
> quota_warning = storage=85%% quota-warning 85 %u
> quota_warning2 = storage=90%% quota-warning 90 %u
> quota_warning3 = storage=95%% quota-warning 95 %u
> sieve = /%Lh/sieve/dovecot.sieve
> sieve_default = /var/vmail/sieve/dovecot.sieve
> sieve_dir = /%Lh/sieve
> sieve_global_dir = /var/vmail/sieve
> }
> protocols = pop3 imap sieve lmtp
> service auth {
> unix_listener /var/spool/postfix/private/dovecot-auth {
> group = postfix
> mode = 0666
> user = postfix
> }
> unix_listener auth-master {
> group = vmail
> mode = 0666
> user = vmail
> }
> unix_listener auth-userdb {
> group = vmail
> mode = 0660
> user = vmail
> }
> }
> service dict {
> unix_listener dict {
> group = vmail
> mode = 0660
> user = vmail
> }
> }
> service imap-login {
> process_limit = 500
> service_count = 1
> }
> service lmtp {
> executable = lmtp -L
> inet_listener lmtp {
> port = 24
> }
> process_min_avail = 5
> unix_listener /var/spool/postfix/private/dovecot-lmtp {
> group = postfix
> mode = 0600
> user = postfix
> }
> user = vmail
> }
> service pop3-login {
> service_count = 1
> }
> service quota-warning {
> executable = script /usr/local/bin/dovecot-quota-warning.sh
> unix_listener quota-warning {
> group = vmail
> mode = 0660
> user = vmail
> }
> }
> ssl = required
> ssl_cert = </etc/ssl/certs/sicl.net.crt
> ssl_key = </etc/ssl/private/sicl.net.key
> userdb {
> args = /etc/dovecot/dovecot-mysql.conf
> driver = sql
> }
> protocol lda {
> auth_socket_path = /var/run/dovecot/auth-master
> lda_mailbox_autocreate = yes
> log_path = /var/log/dovecot-sieve.log
> mail_plugins = quota fts sieve
> postmaster_address = root
> }
> protocol lmtp {
> info_log_path = /var/log/dovecot-lmtp.log
> lmtp_save_to_detail_mailbox = yes
> mail_plugins = quota sieve
> postmaster_address = postmaster
> recipient_delimiter = +
> }
> protocol imap {
> imap_client_workarounds = tb-extra-mailbox-sep
> mail_plugins = quota fts imap_quota
> }
> protocol pop3 {
> mail_plugins = quota fts
> pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
> pop3_uidl_format = %08Xu%08Xv
> }
>
>
> On Thu, Jan 29, 2015 at 12:37 PM, Kevin Laurie <
> superinterstellar@gmail.com> wrote:
>
>> Dear Peter,
>>
>> My inbox is MDA_external
>> Storage: 17GB of 24GB
>>
>> Subject / From / To is fast but FTS(Full Text Search) for body is
>> horrible. I suppose this is where we need Apache Solr.
>>
>> Do you think my mail storage format is bad? Do I need to change for
>> better performance?
>> Please advise
>> Kevin
>>
>>
>>
>> On Thu, Jan 29, 2015 at 12:25 PM, Peter Hodur <petehodur@gmail.com