Subversion Repositories Applications.papyrus

Rev

Rev 1372 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
831 florian 1
Phorum 5 performance notes
2
==========================
3
 
4
Several of Phorum's options have a tradeoff effect: enabling more
5
features can slow Phorum down. This document describes which options
6
these are and tries to explain the performance cost of each one.
7
 
8
Which options you should turn off to improve performance depends
9
on the way you use your Phorum installation.
10
 
11
Table of contents:
12
 
13
1. Global Settings
14
   1.1 DNS Lookups
15
   1.2 Count New Private Messages
16
   1.3 Enable Moderator Notifications
17
   1.4 Track User Usage
18
2. Forum Settings
19
   2.1 Email Messages to Moderators
20
   2.2 Allow Email Notification
21
   2.3 Count Views
22
   2.4 Show New Count in Forum List
23
   2.5 Ban List
24
   2.6 Censor List
25
   2.7 Move Threads on Reply
26
   2.8 Check for duplicates
27
 
28
 
29
1. Global Settings
30
-------------------------------------------------------------------------------
31
 
32
 
33
 1.1 DNS Lookups
34
 ---------------
35
 
36
    DNS lookups cause Phorum to display DNS entries (hostnames) instead
37
    of IP addresses on posts. It also will enable checking if mail
38
    addresses point to valid domains.
39
 
40
    On a forum with a lot of posts, enabling this will result in a
41
    significant number of queries to your DNS server. Phorum's performance
42
    will slow down while a query is running, as it will wait for the result
43
    of the query.
44
 
45
    If your DNS server is slow, this may give the impression to your users
46
    that posting a message is very slow. If that is the case, you should
47
    turn DNS lookups off. If you have access to a fast DNS server or only
48
    have a few regular posters, you should be able to leave it on.
49
 
50
 
51
 1.2 Count New Private Messages
52
 ------------------------------
53
 
54
    If enabled, this option will alert users when they have new private
55
    messages. On every page a logged in user visits, Phorum will check
56
    to see if they have new private messages.
57
 
58
    If you have a large number of active users at one time with a large
59
    number of private messages, this query can start to slow down your
60
    database. Turning it off may help performance, but will also remove
61
    the notification users get when they receive a new private message.
62
    You can also enable userdata caching under "Cache Settings" to
63
    improve performance.
64
 
65
 
66
 1.3 Enable Moderator Notifications
67
 ----------------------------------
68
 
69
    Similar to the Count New Private Messages option, this option will
70
    alert users who are also moderators when they have a new item that
71
    requires their attention.
72
 
73
    The performance hit of this feature is basically nothing for users
74
    without moderator permissions, as Phorum will never perform the checks.
75
    Moderators will suffer a small performance hit, depending on what type
76
    of moderator they are.
77
 
78
    Administrators will suffer a larger performance hit, as they are
79
    effectively moderators of every type, so all of the checks will be
80
    performed.
81
 
82
 
83
 1.4 Track User Usage
84
 --------------------
85
 
86
    This option controls how often Phorum will record when a user was last
87
    active. Setting this to be more frequent results in more accurate last
88
    activity data, but also causes more database writes.
89
 
90
    The "Constantly" setting will record the users activity on every page
91
    hit by any logged in user, resulting in a dramatic increase in the number
92
    of database writes. In most databases, a write is much slower then a
93
    read, so this can dramatically reduce performance. This setting is not
94
    recommended, except for installations with very few users, or very
95
    powerful hardware.
96
 
97
    If you are using a module that actively requires this data (such as the
98
    Online Users module), the setting "Once per 5 minutes" is the best
99
    setting, as the data will be too out of date if you update the data
100
    less frequently.
101
 
102
    If you are not using such a module, "Once per day" or "Once per hour" are
103
    highly recommended over the other options. "Never" disables this function
104
    entirely, and is recommended if you simply don't care to know if a user
105
    is active or not.
106
 
107
    Note: the option "Cache User Data" should be disabled if you have this
108
    feature set to "Once per 5 minutes" or "Constantly", as the caching
109
    will not be of much use.
110
 
111
 
112
2. Forum Settings
113
-------------------------------------------------------------------------------
114
 
115
 
116
 2.1 Email Messages to Moderators
117
 --------------------------------
118
 
119
    If enabled, every post in the forum will be emailed to the forum's
120
    moderators. Administrators are automatically moderators in every forum,
121
    and will also get the emails.
122
 
123
    This option should not directly affect Phorum's performance, but when
124
    a post is made, it will cause some emails to be created. If you have a
125
    large number of moderators and a lot of posts being made by users, this
126
    can generate a significant amount of email traffic.
127
 
128
    The traffic should only be a problem on very large forums or if you have
129
    a slow mail server. In other cases, it should not cause significant
130
    performance issues.
131
 
132
 
133
 2.2 Allow Email Notification
134
 ----------------------------
135
 
136
    This option has similar issues to the Email Messages to Moderators
137
    setting, except the recipients of the emails are users who have
138
    selected the option to have replies in a followed thread emailed to
139
    them.
140
 
141
    If a large number of users is using this feature in a busy thread, it
142
    can affect performance. If only few users are using this feature, it
143
    will not cause significant performance issues.
144
 
145
 
146
 2.3 Count Views
147
 ---------------
148
 
149
    If enabled, this feature records the number of views each post gets.
150
    For every post read, the counter will be incremented in the database.
151
    On a busy forum, this will result in a tremendous number of database
152
    writes, dramatically slowing down performance.
153
 
154
    Enabling this feature is not recommended for high traffic forums,
155
    unless you have very powerful hardware.
156
 
157
 
158
 2.4 Show New Count in Forum List
159
 --------------------------------
160
 
161
    If enabled, the count of new messages for each forum will appear in
162
    index.php. While quite handy, this has to run several queries per
163
    listed forum. If there are many forums on the index.php page, there
164
    could be a significant performance hit.
165
 
166
 
167
 2.5 Ban List
168
 ------------
169
 
170
    The ban list is a list of words that are banned when posting a message.
171
    There is a small performance penalty for searching for the banned words,
172
    but only when posting.
173
 
174
 
175
 2.6 Censor List
176
 ---------------
177
 
178
    The censor list is a list of filtered words, that is checked on every
179
    post read. Because it is checked far more often than the ban list, a
180
    large censor list will affect performance much more.
181
 
182
 
183
 2.7 Move Threads on Reply
184
 -------------------------
185
 
186
    "Move Threads on Reply" means that a thread which gets a new reply causes
187
    the topic to be moved to the top of the forum, hence the topics are
188
    sorted by their last reply and not by their first post in the message
189
    list.
190
 
191
    In Flat-mode there is no performance hit. In Threaded-mode it causes
192
    a large overhead because of the complexity of the sorting and the
193
    counting of posts on a page.
194
 
195
 
196
 2.8 Check for duplicates
197
 ------------------------
198
 
199
    "Check for duplicates" runs one additional query while posting to check
200
    if that post has been made before. That query should be fast and just
201
    a small overhead.
202