Faster CPU (50%) noticeable for xenforo?

Yes, but with xenforo its now 0.7, with vb4 it was 0.25-0.3 on average.
Have you tweaked the MySQL settings to factor in the use of innodb rather than myisam which VB was previously using? Even 0.7 is still hardly having it's tummy tickled!
 
Have you optimized Mysql? Your hardware really should be fast enough with Xenforo - or do you have gigantic forum?
Did you optimise MySQL for InnoDB when you migrated to Xenforo?

Yes, but with xenforo its now 0.7, with vb4 it was 0.25-0.3 on average.

Why not simply answer the questions you have been asked? How should we be able to help if you don't help us? Post your Mysql ini and we will be able to help.
 
This week I am on a business trip. However I still have access to my server as I see now. I use the actual PLESK release on CentOS 64bit on a 16 GB server with 4 cores and HT (8 virtual cores).

/etc/my.cnf
Code:
[mysqld]
local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_allowed_packet=500M
ft_min_word_len=1
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 
/usr/local/psa/admin/conf/php.ini

Code:
short_open_tag = On
y2k_compliance = Off
output_buffering = Off
allow_call_time_pass_reference = On
max_execution_time = 600
max_input_time = 600
memory_limit = 128M
max_file_uploads = 99999

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
log_errors = On
display_errors = Off
warn_plus_overloading = Off
expose_php = Off

variables_order = "ECGPS"
register_argc_argv = On
auto_globals_jit = Off
post_max_size = 2147483647
magic_quotes_gpc = Off
magic_quotes_runtime = Off

include_path = "/usr/local/psa/admin/plib:/usr/local/psa/admin/javascripts:/usr/local/psa/admin/plib/locales:/usr/local/psa/admin/auto_prepend:/usr/local/psa/admin/htdocs/domains/databases/phpMyAdmin:/usr/local/psa/admin/htdocs/domains/databases/phpPgAdmin:/usr/local/psa/admin/smb:/usr/local/psa/admin/smb/application/library:/usr/local/psa/admin/plib/pear:/usr/local/psa/admin/compat"
upload_tmp_dir = "/tmp"
upload_max_filesize = 2147483647

apc.stat = 0
apc.shm_size = 40M
apc.slam_defense = 0
apc.enabled = 1

swkey.repository_dir = "/etc/sw/keys"

psasem.semfile = "/usr/local/psa/var/psasem.sem"
 
/etc/php.ini

I stripped most comments

Code:
[PHP]
engine = On
short_open_tag = On
asp_tags = Off
precision = 14


y2k_compliance = On
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = 100
allow_call_time_pass_reference = Off
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =
disable_classes =
expose_php = Off
max_execution_time = 6000
max_input_time = 6000
//memory_limit = 128M
memory_limit = 2048M
error_reporting = E_ALL & ~E_DEPRECATED
display_errors = Off
rs
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
html_errors = Off
variables_order = "GPCS"
request_order = "GP"
register_globals = Off
register_long_arrays = Off
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 8M


magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
;default_charset = "iso-8859-1"
doc_root =
user_dir =
enable_dl = Off
file_uploads = On
upload_max_filesize = 128M
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
[iconv]
[intl]
[sqlite]
[sqlite3]
[Pcre]
[Pdo]
[Phar]
[Syslog]
define_syslog_variables = Off
[mail function]
SMTP = localhost
smtp_port = 25
sendmail_path = /usr/sbin/sendmail -t -i
mail.add_x_header = On
[SQL]
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off

[MySQLi]
mysqli.max_links = -1
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off

[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0

[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[bcmath]
bcmath.scale = 0
[browscap]
[Session]
session.save_handler = files
session.save_path = "/var/lib/php/session"
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0


session.cookie_path = /


session.cookie_domain =


session.cookie_httponly = 

session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = Off
session.bug_compat_warn = Off

; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
; http://www.php.net/manual/en/session.configuration.php#ini.session.referer-check
session.referer_check =

; How many bytes to read from the file.
; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length
session.entropy_length = 0

; Specified here to create the session id.
; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-file
;session.entropy_file = /dev/urandom
session.entropy_file =

; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length
;session.entropy_length = 16
session.cache_limiter = nocache

; Document expires after n minutes.
; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-expire
session.cache_expire = 180
session.use_trans_sid = 0

; Select a hash function for use in generating session ids.
; Possible Values 
; 0 (MD5 128 bits)
; 1 (SHA-1 160 bits)
; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-function
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off

[Assertion]

[COM]

[gd]

[exif]
[Tidy]
tidy.clean_output = Off

[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400

[sysvshm]
 
/etc/httpd/conf/httpd.conf

I stripped all comments and some of my personal redirects.
Code:
ServerTokens OS
ServerRoot "/etc/httpd"
PidFile run/httpd.pid
Timeout 60
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 15
<IfModule prefork.c>
StartServers 16
MinSpareServers 16
MaxSpareServers 64
ServerLimit 512
MaxClients 512
MaxRequestsPerChild 100000
</IfModule>
 
<IfModule worker.c>
StartServers 4
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
 
 
Listen 80
 
#LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
#LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
#LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
#LoadModule authz_default_module modules/mod_authz_default.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
#LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
##LoadModule dav_module modules/mod_dav.so
#LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule info_module modules/mod_info.so
##LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
#LoadModule substitute_module modules/mod_substitute.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule version_module modules/mod_version.so
 
 
Include conf.d/*.conf
 
User apache
Group apache
 
ServerAdmin root@localhost
 
UseCanonicalName Off
 
<IfModule mod_headers.c>
Header unset Server
RequestHeader unset Server
</IfModule>
 
DocumentRoot "/var/www/html"
 
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
 
<Directory /var/www/vhosts/xxxxx.xx/xxxxx/>
 
#Options FollowSymLinks MultiViews
#AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css text/javascript application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default
ErrorDocument 500 default
 
<FilesMatch "\.(ico|doc|docx|xls|xlsx|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=5184000, public"
</FilesMatch>
 
<IfModule mod_rewrite.c>
RewriteEngine On
 
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
 
# xxxxxxxxxxxxxxxxxx
# some personal rewrite rules
# xxxxxxxxxxxxx
 
RewriteRule ^([0-9]+)-[^/]+-([0-9]+)\.html$ /showthread.php?t=$1&page=$2 [L,R=301]
RewriteRule ^([0-9]+)-[^/]+\.html$ /showthread.php?t=$1 [L,R=301]
#RewriteRule ^attachments/([^-]+)-[^/]+$ /attachment.php?attachmentid=$1 [L,R=301]
 
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
 
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(data/|js/|styles/|install/|favicon\.ico) - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
 
</IfModule>
</Directory>
 
 
<Directory "/var/www/html">
 
Options Indexes FollowSymLinks
 
AllowOverride None
 
Order allow,deny
Allow from all
 
</Directory>
 
<IfModule mod_userdir.c>
    UserDir disabled
 
 
</IfModule>
 
DirectoryIndex index.php index.html index.shtml index.cfm index.htm
 
AccessFileName .htaccess
 
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
 
TypesConfig /etc/mime.types
 
DefaultType text/plain
 
<IfModule mod_mime_magic.c>
# MIMEMagicFile /usr/share/magic.mime
MIMEMagicFile conf/magic
</IfModule>
 
HostnameLookups Off
 
ErrorLog logs/error_log
 
LogLevel warn
 
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
 
CustomLog logs/access_log combined
 
ServerSignature On
 
Alias /icons/ "/var/www/icons/"
 
<Directory "/var/www/icons">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
 
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8
 
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
 
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
 
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
 
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
 
DefaultIcon /icons/unknown.gif
 
ReadmeName README.html
HeaderName HEADER.html
 
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
 
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
 
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
 
AddHandler type-map var
 
Alias /error/ "/var/www/error/"
 
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
<Directory "/var/www/error">
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback
</Directory>
 
</IfModule>
</IfModule>
 
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
 
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
GracefulShutDownTimeout 3
AddOutputFilter INCLUDES .shtml
AddType text/html .shtml
 
/etc/my.cnf

there's no deep hole in your config. Please do not try to 'optimize' innodb or any other setting unless you know what you are doing and what the effects and consequences are.
If you think about spending money...invest it in books or someone who knows how to read configs, logs and to optimize it based on these infos. You can't tune a server without full insights, in this case it's better to stay default if there is no issue (and according to your load you don't have any). Seriously.
 
This week I am on a business trip. However I still have access to my server as I see now. I use the actual PLESK release on CentOS 64bit on a 16 GB server with 4 cores and HT (8 virtual cores).

/etc/my.cnf

Exactly as I thought, no Innodb buffers. At least add the following lines to /etc/my.cnf below the [mysqld], but consider hiring someone or inform yourself about the mysql config file. You are missing quite a few options. After adding the line, restart mysql

Code:
innodb_buffer_pool_size=2000M
 
In your Apache config change the value for KeepAliveTimeout from 15 down to 3:

Rich (BB code):
KeepAliveTimeout 3

Your Apache processes are currently waiting for 15 seconds for more input before terminating - which means they are hanging about doing nothing using up resources. Reducing it to 3 seconds lowers the process idle time and frees those resources by killing them off quicker.

You are also loading the expires module but don't have any global expires options set (to cache stuff on the visitors local machine).

Here's the snippet from my own Apache server config that you can use as a starting point. Just add it to the very end of your httpd.conf file - then stop and start Apache:

Code:
# Caching - Load images, css, and javascript from visitors
# browser for 30 days before re-caching to speed up page
# loading and reduce server load
 
ExpiresActive on
ExpiresByType text/css "access plus 1 day"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/icon "access plus 1 month"


You also need some InnoDB settings adding for MySQL - but I don't have my conf details to hand so will try to dig it out later and offer some starting values for you to test/experiment with.

Cheers,
Shaun :D
 
Thanks I will change KeepAliveTimeout to 3 :)

For expires I use this, is this the same as expires?
Code:
<FilesMatch "\.(ico|doc|docx|xls|xlsx|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=5184000, public"
</FilesMatch>
 
Your Apache processes are currently waiting for 15 seconds for more input before terminating - which means they are hanging about doing nothing using up resources. Reducing it to 3 seconds lowers the process idle time and frees those resources by killing them off quicker.
sorry but what is this thread about...speedup or saving resources? Your suggestion slow down following requests by freeing resources that are not used elsewhere...
 
Good question. I want to make my forum faster, however that can be achieved. I did speed my old vb4 forum up from former 0.6 seconds for a page output to around 0.04 - 0.08 seconds per page. I achieved that by getting a new server and server tuning (where I then had around 0.2 seconds per page) and after that I changed the core vb4 code and its routines and got down until 0.04 seconds!

I want to do something similar now with my forum that migrated to xenforo and a new server last year.
 
Thanks I will change KeepAliveTimeout to 3 :)

For expires I use this, is this the same as expires?
Code:
<FilesMatch "\.(ico|doc|docx|xls|xlsx|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=5184000, public"
</FilesMatch>

That's for the HTTP document request - the expires I posted is for files (types as specified in the list). You can use both, but since the XF pages are dynamically generated I just use the one I quoted.

Someone may have more specific knowledge regarding the two options and be able to better advise on the mechanics, use, and usefulness (to your server) of each. (y)

sorry but what is this thread about...speedup or saving resources? Your suggestion slow down following requests by freeing resources that are not used elsewhere...

The nature of browsing forums is that we navigate to where we want to read, then we stop - often for longer than fifteen seconds to read the content we've landed on. That means lots of requests can be killed at sooner than 15 seconds to save resources without impact on the end user; the server has plenty of spare servers on standby to deal with following requests and those free resources can be used elsewhere to improve speed.

TBH if he didn't have so much RAM available I'd have recommended setting it to 2 or maybe even 1 since most visitors browse/navigate quite slowly and killing them off at 1 seconds would be quite efficient.

However, I'm interested in what you think is the best setting - I'm certainly no expert and you may well be better informed to advise Marcus. I'm sure he'd appreciate all the help he can get. (y)

Cheers,
Shaun :D
 
My forum only has around 1 Million Posts and I really have no clue why I have such high average loads of around 0.7. Do you know a program how I can track page loads and other stuff on my centOS / Plesk server?

I guess I did something wrong with the php / mysql / apache settings. I will post the configuration files of these later.

This is such a nice helpful community, I should be more around here!

HTOP is awesome for monitoring. It's similar to typing in top but HTOP is just 100x better :)
 
Report from mysqltuner after having running mysql for a few days
Code:
[root@server ~]# ./mysqltuner.pl

>> MySQLTuner 1.2.0 - Major Hayden <major@mhtx.net>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.1.61
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 7G (Tables: 1017)
[--] Data in InnoDB tables: 2G (Tables: 464)
[--] Data in MEMORY tables: 4M (Tables: 12)
[!!] Total fragmented tables: 484

-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned



-------- Performance Metrics -------------------------------------------------
[--] Up for: 2d 19h 50m 16s (6M q [25.338 qps], 688K conn, TX: 371B, RX: 1B)
[--] Reads / Writes: 75% / 25%
[--] Total buffers: 2.0G global + 2.7M per thread (151 max threads)
[OK] Maximum possible memory usage: 2.4G (15% of installed RAM)
[OK] Slow queries: 0% (38/6M)
[OK] Highest usage of available connections: 59% (90/151)
[OK] Key buffer size / total MyISAM indexes: 8.0M/2.3G
[OK] Key buffer hit rate: 100.0% (147M cached / 29K reads)
[!!] Query cache is disabled
[OK] Sorts requiring temporary tables: 0% (28 temp sorts / 301K sorts)
[!!] Temporary tables created on disk: 43% (7K on disk / 16K total)
[!!] Thread cache is disabled
[!!] Table cache hit rate: 0% (64 open / 28K opened)
[OK] Open file limit used: 0% (7/1K)
[OK] Table locks acquired immediately: 99% (6M immediate / 6M locks)
[!!] InnoDB data size / buffer pool: 2.3G/2.0G

-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
Enable the slow query log to troubleshoot bad queries
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Set thread_cache_size to 4 as a starting value
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
query_cache_size (>= 8M)
tmp_table_size (> 16M)
max_heap_table_size (> 16M)
thread_cache_size (start at 4)
table_cache (> 64)
  innodb_buffer_pool_size (>= 2G)
 
Back
Top Bottom