Kunena 7.0.4 Released

The Kunena team has announce the arrival of Kunena 7.0.4 [K 7.0.4] in stable which is now available for download as a native Joomla extension for J! 5.4.x/6.0.x. This version addresses most of the issues that were discovered in K 6.2 / K 6.3 / K 6.4 and issues discovered during the last development stages of K 7.0

Topics that are moved into this category are generally considered to be closed. Users may want to add additional information but these topics should not be resurrected in order to discuss new problems or unrelated matters.

Question How to improve performance?

More
14 years 7 months ago - 14 years 7 months ago #106768 by kevinbal
Hi there -- we're using Joomla+kunena to act as a course website for an ARG/RPG game-based Latin course with multiple classes and multiple schools running it concurrently.

The school year began this past week, we've expanded beyond our initial small group, and moved to a VPS dedicated to the site.

At peak times, the kunena portion grinds to a halt (sometimes 60+ seconds to load a subforum). We've got a fairly strange set up in order to handle the different sections (under 500 users right now, but a couple hundred joomla groups set to see individual subfora.

I've done what little I am capable of doing with tweaking mysql settings that I'm comfortable with (query cache, table cache, etc) but it's not having a really big effect on the overall performance (again, just of the Kunena portion of the site -- the Joomla content is lightning fast).

Here are all the configurations of both Kunena and the mysql variables, also the VPS stats as well:

Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (1 core enabled) + 1 gb ram


Kunena:

This message contains confidential information

Database collation check: The collation of your table fields are correct

Legacy mode: Disabled | Joomla! SEF: Enabled | Joomla! SEF rewrite: Disabled | FTP layer: Disabled |

This message contains confidential information
htaccess: Missing | PHP environment: Max execution time: 60 seconds | Max execution memory: 128M | Max file upload: 10M

This message contains confidential information

Joomla default template details : rhuk_milkyway_ext_16 | author: Andy Miller | version: 1.6.0 | creationdate: 11/20/06

Kunena default template details : Blue Eagle (default) | author: Kunena Team | version: 1.7.0 | creationdate: 2011-08-29

Kunena version detailled: Installed version: 1.7.0 | Build: 5135 | Version name: Tale | Kunena detailled configuration:

Warning: Spoiler!

Third-party components: None

Third-party SEF components: None

Plugins: System - Mootools Upgrade: Disabled | System - Mootools12: Disabled

Modules: None


mysql variables:

auto increment increment 1
auto increment offset 1
autocommit ON
automatic sp privileges ON
back log 50
basedir /
big tables OFF
binlog cache size 32,768
binlog direct non transactional updates OFF
binlog format STATEMENT
bulk insert buffer size 8,388,608
character set client utf8
(Global value) latin1
character set connection utf8
(Global value) latin1
character set database latin1
character set filesystem binary
character set results utf8
(Global value) latin1
character set server latin1
character set system utf8
character sets dir /usr/share/mysql/charsets/
collation connection utf8_general_ci
(Global value) latin1_swedish_ci
collation database latin1_swedish_ci
collation server latin1_swedish_ci
completion type 0
concurrent insert 1
connect timeout 10
datadir /var/lib/mysql/
date format %Y-%m-%d
datetime format %Y-%m-%d %H:%i:%s
default week format 0
delay key write ON
delayed insert limit 100
delayed insert timeout 300
delayed queue size 1,000
div precision increment 4
engine condition pushdown ON
error count 0
event scheduler OFF
expire logs days 0
flush OFF
flush time 0
foreign key checks ON
ft boolean syntax + -><()~*:""&|
ft max word len 84
ft min word len 4
ft query expansion limit 20
ft stopword file (built-in)
general log OFF
general log file /var/lib/mysql/SV01ACCU112.log
group concat max len 1,024
have community features YES
have compress YES
have crypt YES
have csv YES
have dynamic loading YES
have geometry YES
have innodb YES
have ndbcluster NO
have openssl DISABLED
have partitioning YES
have query cache YES
have rtree keys YES
have ssl DISABLED
have symlink YES
hostname SV01ACCU112.practomime.com
identity 0
ignore builtin innodb OFF
init connect
init file
init slave
innodb adaptive hash index ON
innodb additional mem pool size 1,048,576
innodb autoextend increment 8
innodb autoinc lock mode 1
innodb buffer pool size 8,388,608
innodb checksums ON
innodb commit concurrency 0
innodb concurrency tickets 500
innodb data file path ibdata1:10M:autoextend
innodb data home dir
innodb doublewrite ON
innodb fast shutdown 1
innodb file io threads 4
innodb file per table OFF
innodb flush log at trx commit 1
innodb flush method
innodb force recovery 0
innodb lock wait timeout 50
innodb locks unsafe for binlog OFF
innodb log buffer size 1,048,576
innodb log file size 5,242,880
innodb log files in group 2
innodb log group home dir ./
innodb max dirty pages pct 90
innodb max purge lag 0
innodb mirrored log groups 1
innodb open files 300
innodb rollback on timeout OFF
innodb stats method nulls_equal
innodb stats on metadata ON
innodb support xa ON
innodb sync spin loops 20
innodb table locks ON
innodb thread concurrency 8
innodb thread sleep delay 10,000
innodb use legacy cardinality algorithm ON
insert id 0
interactive timeout 28,800
join buffer size 131,072
keep files on create OFF
key buffer size 134,217,728
key cache age threshold 300
key cache block size 1,024
key cache division limit 100
language /usr/share/mysql/english/
large files support ON
large page size 0
large pages OFF
last insert id 0
lc time names en_US
license GPL
local infile ON
locked in memory OFF
log OFF
log bin OFF
log bin trust function creators OFF
log bin trust routine creators OFF
log error /var/lib/mysql/SV01ACCU112.practomime.com.err
log output FILE
log queries not using indexes OFF
log slave updates OFF
log slow queries ON
log warnings 1
long query time 10
low priority updates OFF
lower case file system OFF
lower case table names 0
max allowed packet 1,048,576
max binlog cache size 18446744073709547520
max binlog size 1,073,741,824
max connect errors 10
max connections 500
max delayed threads 20
max error count 64
max heap table size 67,108,864
max insert delayed threads 20
max join size 18446744073709551615
max length for sort data 1,024
max prepared stmt count 16,382
max relay log size 0
max seeks for key 18446744073709551615
max sort length 1,024
max sp recursion depth 0
max tmp tables 32
max user connections 0
max write lock count 18446744073709551615
min examined row limit 0
multi range count 256
myisam data pointer size 6
myisam max sort file size 9223372036853727232
myisam mmap size 18446744073709551615
myisam recover options OFF
myisam repair threads 1
myisam sort buffer size 67,108,864
myisam stats method nulls_unequal
myisam use mmap OFF
net buffer length 16,384
net read timeout 30
net retry count 10
net write timeout 60
new OFF
old OFF
old alter table OFF
old passwords OFF
open files limit 2,500
optimizer prune level 1
optimizer search depth 62
optimizer switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on
pid file /var/lib/mysql/SV01ACCU112.practomime.com.pid
plugin dir /usr/lib64/mysql/plugin
port 3,306
preload buffer size 32,768
profiling OFF
profiling history size 15
protocol version 10
pseudo thread id 14,059
(Global value) 0
query alloc block size 8,192
query cache limit 1,048,576
query cache min res unit 4,096
query cache size 134,217,728
query cache type ON
query cache wlock invalidate OFF
query prealloc size 8,192
rand seed1
rand seed2
range alloc block size 4,096
read buffer size 3,997,696
read only OFF
read rnd buffer size 262,144
relay log
relay log index
relay log info file relay-log.info
relay log purge ON
relay log space limit 0
report host
report password
report port 3,306
report user
rpl recovery rank 0
secure auth OFF
secure file priv
server id 0
skip external locking ON
skip name resolve OFF
skip networking OFF
skip show database OFF
slave compressed protocol OFF
slave exec mode STRICT
slave load tmpdir /tmp
slave net timeout 3,600
slave skip errors OFF
slave transaction retries 10
slow launch time 2
slow query log ON
slow query log file /var/lib/mysql/SV01ACCU112-slow.log
socket /var/lib/mysql/mysql.sock
sort buffer size 4,194,304
sql auto is null ON
sql big selects ON
sql big tables OFF
sql buffer result OFF
sql log bin ON
sql log off OFF
sql log update ON
sql low priority updates OFF
sql max join size 18446744073709551615
sql mode
sql notes ON
sql quote show create ON
sql safe updates OFF
sql select limit 18446744073709551615
sql slave skip counter
sql warnings OFF
ssl ca
ssl capath
ssl cert
ssl cipher
ssl key
storage engine MyISAM
sync binlog 0
sync frm ON
system time zone EDT
table definition cache 256
table lock wait timeout 50
table open cache 4,096
table type MyISAM
thread cache size 8
thread handling one-thread-per-connection
thread stack 262,144
time format %H:%i:%s
time zone SYSTEM
timed mutexes OFF
timestamp 1,315,778,481
tmp table size 67,108,864
tmpdir /tmp
transaction alloc block size 8,192
transaction prealloc size 4,096
tx isolation REPEATABLE-READ
unique checks ON
updatable views with limit YES
version 5.1.56-log
version comment MySQL Community Server (GPL)
version compile machine x86_64
version compile os unknown-linux-gnu
wait timeout 15
warning count 0


Any advice or help anyone could provide would make me a far less stressed Latin teacher :)

Updated with some other tweaks to caches etc.
Last edit: 14 years 7 months ago by kevinbal.

Please Log in or Create an account to join the conversation.

More
14 years 7 months ago - 14 years 7 months ago #106843 by kevinbal
I've read a bit about innodb versus myisam....

Would converting the kunena tables to innodb be effective in this situation? What tweaks would need to be made to the innodb variables?

These also look like the two biggest red flags in the phpMyAdmin status view:

Handler_read_rnd 863.5 k The number of requests to read a row based on a fixed position. This is high if you are doing a lot of queries that require sorting of the result. You probably have a lot of queries that require MySQL to scan whole tables or you have joins that don't use keys properly.
Handler_read_rnd_next 43.0 M The number of requests to read the next row in the data file. This is high if you are doing a lot of table scans. Generally this suggests that your tables are not properly indexed or that your queries are not written to take advantage of the indexes you have.
Last edit: 14 years 7 months ago by kevinbal.

Please Log in or Create an account to join the conversation.

More
14 years 7 months ago #107035 by kevinbal
Alright, we've gotten the database converted to innoDB and increased the variables related to improving innoDB (as noted in other threads) -- I'll post an updated variable list tonight (unfortunately I can't access phpmyadmin while I'm on my campus computer).

The handler_read_rnd and handler_read_rnd_next are still off the charts, like the above.

What queries would Kunena be running that aren't indexed that would cause that kind of strain?

Please Log in or Create an account to join the conversation.

More
14 years 7 months ago #107080 by kevinbal
latest kunena config settings

This message contains confidential information

Database collation check: The collation of your table fields are correct

Legacy mode: Disabled | Joomla! SEF: Enabled | Joomla! SEF rewrite: Disabled | FTP layer: Disabled |

This message contains confidential information
htaccess: Missing | PHP environment: Max execution time: 60 seconds | Max execution memory: 128M | Max file upload: 10M

This message contains confidential information

Joomla default template details : rhuk_milkyway_ext_16 | author: Andy Miller | version: 1.6.0 | creationdate: 11/20/06

Kunena default template details : Blue Eagle (default) | author: Kunena Team | version: 1.7.0 | creationdate: 2011-08-29

Kunena version detailled: Installed version: 1.7.0 | Build: 5135 | Version name: Tale | Kunena detailled configuration:

Warning: Spoiler!

Third-party components: None

Third-party SEF components: None

Plugins: System - Mootools Upgrade: Disabled | System - Mootools12: Disabled

Modules: None


phpmyadmin variables:

auto increment increment 1
auto increment offset 1
autocommit ON
automatic sp privileges ON
back log 50
basedir /
big tables OFF
binlog cache size 32,768
binlog direct non transactional updates OFF
binlog format STATEMENT
bulk insert buffer size 8,388,608
character set client utf8
(Global value) latin1
character set connection utf8
(Global value) latin1
character set database latin1
character set filesystem binary
character set results utf8
(Global value) latin1
character set server latin1
character set system utf8
character sets dir /usr/share/mysql/charsets/
collation connection utf8_general_ci
(Global value) latin1_swedish_ci
collation database latin1_swedish_ci
collation server latin1_swedish_ci
completion type 0
concurrent insert 1
connect timeout 10
datadir /var/lib/mysql/
date format %Y-%m-%d
datetime format %Y-%m-%d %H:%i:%s
default week format 0
delay key write ON
delayed insert limit 100
delayed insert timeout 300
delayed queue size 1,000
div precision increment 4
engine condition pushdown ON
error count 0
event scheduler OFF
expire logs days 0
flush OFF
flush time 0
foreign key checks ON
ft boolean syntax + -><()~*:""&|
ft max word len 84
ft min word len 4
ft query expansion limit 20
ft stopword file (built-in)
general log OFF
general log file /var/lib/mysql/SV01ACCU112.log
group concat max len 1,024
have community features YES
have compress YES
have crypt YES
have csv YES
have dynamic loading YES
have geometry YES
have innodb YES
have ndbcluster NO
have openssl DISABLED
have partitioning YES
have query cache YES
have rtree keys YES
have ssl DISABLED
have symlink YES
hostname SV01ACCU112.practomime.com
identity 0
ignore builtin innodb OFF
init connect
init file
init slave
innodb adaptive hash index ON
innodb additional mem pool size 33,554,432
innodb autoextend increment 8
innodb autoinc lock mode 1
innodb buffer pool size 268,435,456
innodb checksums ON
innodb commit concurrency 0
innodb concurrency tickets 500
innodb data file path ibdata1:10M:autoextend
innodb data home dir
innodb doublewrite ON
innodb fast shutdown 1
innodb file io threads 4
innodb file per table OFF
innodb flush log at trx commit 2
innodb flush method
innodb force recovery 0
innodb lock wait timeout 50
innodb locks unsafe for binlog OFF
innodb log buffer size 1,048,576
innodb log file size 33,554,432
innodb log files in group 2
innodb log group home dir ./
innodb max dirty pages pct 90
innodb max purge lag 0
innodb mirrored log groups 1
innodb open files 300
innodb rollback on timeout OFF
innodb stats method nulls_equal
innodb stats on metadata ON
innodb support xa ON
innodb sync spin loops 20
innodb table locks ON
innodb thread concurrency 8
innodb thread sleep delay 10,000
innodb use legacy cardinality algorithm ON
insert id 0
interactive timeout 28,800
join buffer size 2,097,152
keep files on create OFF
key buffer size 67,108,864
key cache age threshold 300
key cache block size 1,024
key cache division limit 100
language /usr/share/mysql/english/
large files support ON
large page size 0
large pages OFF
last insert id 0
lc time names en_US
license GPL
local infile ON
locked in memory OFF
log OFF
log bin OFF
log bin trust function creators OFF
log bin trust routine creators OFF
log error /var/lib/mysql/SV01ACCU112.practomime.com.err
log output FILE
log queries not using indexes OFF
log slave updates OFF
log slow queries ON
log warnings 1
long query time 10
low priority updates OFF
lower case file system OFF
lower case table names 0
max allowed packet 1,048,576
max binlog cache size 18446744073709547520
max binlog size 1,073,741,824
max connect errors 10
max connections 500
max delayed threads 20
max error count 64
max heap table size 100,663,296
max insert delayed threads 20
max join size 18446744073709551615
max length for sort data 1,024
max prepared stmt count 16,382
max relay log size 0
max seeks for key 18446744073709551615
max sort length 1,024
max sp recursion depth 0
max tmp tables 32
max user connections 0
max write lock count 18446744073709551615
min examined row limit 0
multi range count 256
myisam data pointer size 6
myisam max sort file size 9223372036853727232
myisam mmap size 18446744073709551615
myisam recover options OFF
myisam repair threads 1
myisam sort buffer size 33,554,432
myisam stats method nulls_unequal
myisam use mmap OFF
net buffer length 16,384
net read timeout 30
net retry count 10
net write timeout 60
new OFF
old OFF
old alter table OFF
old passwords OFF
open files limit 8,702
optimizer prune level 1
optimizer search depth 62
optimizer switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on
pid file /var/lib/mysql/SV01ACCU112.practomime.com.pid
plugin dir /usr/lib64/mysql/plugin
port 3,306
preload buffer size 32,768
profiling OFF
profiling history size 15
protocol version 10
pseudo thread id 9,793
(Global value) 0
query alloc block size 8,192
query cache limit 1,048,576
query cache min res unit 4,096
query cache size 100,663,296
query cache type ON
query cache wlock invalidate OFF
query prealloc size 8,192
rand seed1
rand seed2
range alloc block size 4,096
read buffer size 131,072
read only OFF
read rnd buffer size 262,144
relay log
relay log index
relay log info file relay-log.info
relay log purge ON
relay log space limit 0
report host
report password
report port 3,306
report user
rpl recovery rank 0
secure auth OFF
secure file priv
server id 0
skip external locking ON
skip name resolve OFF
skip networking OFF
skip show database OFF
slave compressed protocol OFF
slave exec mode STRICT
slave load tmpdir /tmp
slave net timeout 3,600
slave skip errors OFF
slave transaction retries 10
slow launch time 2
slow query log ON
slow query log file /var/lib/mysql/SV01ACCU112-slow.log
socket /var/lib/mysql/mysql.sock
sort buffer size 2,097,144
sql auto is null ON
sql big selects ON
sql big tables OFF
sql buffer result OFF
sql log bin ON
sql log off OFF
sql log update ON
sql low priority updates OFF
sql max join size 18446744073709551615
sql mode
sql notes ON
sql quote show create ON
sql safe updates OFF
sql select limit 18446744073709551615
sql slave skip counter
sql warnings OFF
ssl ca
ssl capath
ssl cert
ssl cipher
ssl key
storage engine InnoDB
sync binlog 0
sync frm ON
system time zone EDT
table definition cache 256
table lock wait timeout 50
table open cache 4,096
table type InnoDB
thread cache size 0
thread handling one-thread-per-connection
thread stack 262,144
time format %H:%i:%s
time zone SYSTEM
timed mutexes OFF
timestamp 1,316,037,007
tmp table size 33,554,432
tmpdir /tmp
transaction alloc block size 8,192
transaction prealloc size 4,096
tx isolation REPEATABLE-READ
unique checks ON
updatable views with limit YES
version 5.1.56-log
version comment MySQL Community Server (GPL)
version compile machine x86_64
version compile os unknown-linux-gnu
wait timeout 28,800
warning count 0

Please Log in or Create an account to join the conversation.

More
14 years 7 months ago #107083 by Mihanja
try this mysqli+ (PHP 5.3 cgi-fcgi) + XCache + (Apache + nginx proxy server)

Recommended hosting vps: VPS with a panel ispmanager lite (Promo Code:648215714)

Please Log in or Create an account to join the conversation.

More
14 years 7 months ago #107094 by kevinbal
If I enables these through easyapache, any potential pitfalls I would need to be aware of?

Please Log in or Create an account to join the conversation.

Time to create page: 0.318 seconds