High load CPU Openfire 3.8.2

Windows 2008R2 x64

CPU Inet Xenon E5520

Openfire 3.8.2:

Java Memory 434,14 MB of 989,88 MB (43,9%) used

Active Client Sessions: 76

Total Users: 770

Plugins:
Kraken IM Gateway 1.1.3

Load Statistic 1.1.0

Monitoring Service 1.3.1-rc1

MotD (Message of the Day) 1.0.4

SASL Mechanisms (JT) 0.3

Search 1.5.1

Subscription 1.2.2

User Import Export 2.3.1

Load CPU 90-100%

**High load - This bug?
**

What JRE are you using? Do you hit 100% CPU right away when it starts, when users connect, or at some other time?

Аlways, when users is…

Current:
Active Client Sessions: 9

**Load CPU ~50%
**

So what does it do when you have 0 users connected? Are you measuring total system CPU, or just CPU consumed by the Openfire JVM?

CPU consumed by the Openfire JVM (openfire-service.exe)!!!

If have 0 users connected - Load CPU 0%

Start by disabling all of the plugins - See if runs low CPU. If it does, enable them one at a time until CPU is high again.

What JRE are you using? I’ve still not been successful running Openfire on 1.7 without performance issues, so you might want to get the latest 1. (u51?)

Can you please tell the all step to setup openfire 3.8.2, please

Thank you!

After reinstall “Monitoring Service” loading of about 10% with 320 users…

Installed: Openfire 3.8.2 Includes Java JRE (recommended).

Java Version: 1.6.0_18 Sun Microsystems Inc. – Java HotSpot™ Client VM

Sorry, but all step I do not remember …

Ok. But atleast show me the setup and configuration of MYSQL with openfire 3.8.2.

Thanks.

mysql Ver 14.14 Distrib 5.1.69, for debian-linux-gnu (x86_64) using readline 6.1

Structure DB “Openfire”:

CREATE TABLE IF NOT EXISTS ofConParticipant (

conversationID bigint(20) NOT NULL,

joinedDate bigint(20) NOT NULL,

leftDate bigint(20) DEFAULT NULL,

bareJID varchar(200) NOT NULL,

jidResource varchar(100) NOT NULL,

nickname varchar(255) DEFAULT NULL,

KEY ofConParticipant_conv_idx (conversationID,bareJID,jidResource,joinedDate),

KEY ofConParticipant_jid_idx (bareJID)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofConversation (

conversationID bigint(20) NOT NULL,

room varchar(255) DEFAULT NULL,

isExternal tinyint(4) NOT NULL,

startDate bigint(20) NOT NULL,

lastActivity bigint(20) NOT NULL,

messageCount int(11) NOT NULL,

PRIMARY KEY (conversationID),

KEY ofConversation_ext_idx (isExternal),

KEY ofConversation_start_idx (startDate),

KEY ofConversation_last_idx (lastActivity)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofExtComponentConf (

subdomain varchar(255) NOT NULL,

wildcard tinyint(4) NOT NULL,

secret varchar(255) DEFAULT NULL,

permission varchar(10) NOT NULL,

PRIMARY KEY (subdomain)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofGatewayAvatars (

jid varchar(255) NOT NULL,

imageData mediumtext NOT NULL,

xmppHash varchar(255) DEFAULT NULL,

legacyIdentifier varchar(255) DEFAULT NULL,

createDate bigint(20) NOT NULL,

lastUpdate bigint(20) DEFAULT NULL,

imageType varchar(25) DEFAULT NULL,

PRIMARY KEY (jid)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofGatewayPseudoRoster (

registrationID bigint(20) NOT NULL,

username varchar(255) NOT NULL,

nickname varchar(255) DEFAULT NULL,

groups varchar(255) DEFAULT NULL,

KEY ofGatewayPseudoRoster_regid_idx (registrationID),

KEY ofGatewayPseudoRoster_uname_idx (username)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofGatewayRegistration (

registrationID bigint(20) NOT NULL,

jid varchar(255) NOT NULL,

transportType varchar(15) NOT NULL,

username varchar(255) NOT NULL,

password varchar(1024) DEFAULT NULL,

nickname varchar(255) DEFAULT NULL,

registrationDate bigint(20) NOT NULL,

lastLogin bigint(20) DEFAULT NULL,

PRIMARY KEY (registrationID),

KEY ofGatewayRegistration_jid_idx (jid),

KEY ofGatewayRegistration_type_idx (transportType)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofGatewayRestrictions (

transportType varchar(15) NOT NULL,

username varchar(255) DEFAULT NULL,

groupname varchar(50) DEFAULT NULL,

KEY ofGatewayRestrictions_ttype_idx (transportType),

KEY ofGatewayRestrictions_uname_idx (username)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofGatewayVCards (

jid varchar(255) NOT NULL,

value mediumtext NOT NULL,

PRIMARY KEY (jid)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofGroup (

groupName varchar(50) NOT NULL,

description varchar(255) DEFAULT NULL,

PRIMARY KEY (groupName)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofGroupProp (

groupName varchar(50) NOT NULL,

name varchar(100) NOT NULL,

propValue text NOT NULL,

PRIMARY KEY (groupName,name)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofGroupUser (

groupName varchar(50) NOT NULL,

username varchar(100) NOT NULL,

administrator tinyint(4) NOT NULL,

PRIMARY KEY (groupName,username,administrator)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofID (

idType int(11) NOT NULL,

id bigint(20) NOT NULL,

PRIMARY KEY (idType)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofMessageArchive (

conversationID bigint(20) NOT NULL,

fromJID varchar(255) NOT NULL,

fromJIDResource varchar(100) DEFAULT NULL,

toJID varchar(255) NOT NULL,

toJIDResource varchar(100) DEFAULT NULL,

sentDate bigint(20) NOT NULL,

body text,

KEY ofMessageArchive_con_idx (conversationID)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofMucAffiliation (

roomID bigint(20) NOT NULL,

jid text NOT NULL,

affiliation tinyint(4) NOT NULL,

PRIMARY KEY (roomID,jid(70))

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofMucConversationLog (

roomID bigint(20) NOT NULL,

sender text NOT NULL,

nickname varchar(255) DEFAULT NULL,

logTime char(15) NOT NULL,

subject varchar(255) DEFAULT NULL,

body text,

KEY ofMucConversationLog_time_idx (logTime)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofMucMember (

roomID bigint(20) NOT NULL,

jid text NOT NULL,

nickname varchar(255) DEFAULT NULL,

firstName varchar(100) DEFAULT NULL,

lastName varchar(100) DEFAULT NULL,

url varchar(100) DEFAULT NULL,

email varchar(100) DEFAULT NULL,

faqentry varchar(100) DEFAULT NULL,

PRIMARY KEY (roomID,jid(70))

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofMucRoom (

serviceID bigint(20) NOT NULL,

roomID bigint(20) NOT NULL,

creationDate char(15) NOT NULL,

modificationDate char(15) NOT NULL,

name varchar(50) NOT NULL,

naturalName varchar(255) NOT NULL,

description varchar(255) DEFAULT NULL,

lockedDate char(15) NOT NULL,

emptyDate char(15) DEFAULT NULL,

canChangeSubject tinyint(4) NOT NULL,

maxUsers int(11) NOT NULL,

publicRoom tinyint(4) NOT NULL,

moderated tinyint(4) NOT NULL,

membersOnly tinyint(4) NOT NULL,

canInvite tinyint(4) NOT NULL,

roomPassword varchar(50) DEFAULT NULL,

canDiscoverJID tinyint(4) NOT NULL,

logEnabled tinyint(4) NOT NULL,

subject varchar(100) DEFAULT NULL,

rolesToBroadcast tinyint(4) NOT NULL,

useReservedNick tinyint(4) NOT NULL,

canChangeNick tinyint(4) NOT NULL,

canRegister tinyint(4) NOT NULL,

PRIMARY KEY (serviceID,name),

KEY ofMucRoom_roomid_idx (roomID),

KEY ofMucRoom_serviceid_idx (serviceID)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofMucRoomProp (

roomID bigint(20) NOT NULL,

name varchar(100) NOT NULL,

propValue text NOT NULL,

PRIMARY KEY (roomID,name)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofMucService (

serviceID bigint(20) NOT NULL,

subdomain varchar(255) NOT NULL,

description varchar(255) DEFAULT NULL,

isHidden tinyint(4) NOT NULL,

PRIMARY KEY (subdomain),

KEY ofMucService_serviceid_idx (serviceID)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofMucServiceProp (

serviceID bigint(20) NOT NULL,

name varchar(100) NOT NULL,

propValue text NOT NULL,

PRIMARY KEY (serviceID,name)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofOffline (

username varchar(64) NOT NULL,

messageID bigint(20) NOT NULL,

creationDate char(15) NOT NULL,

messageSize int(11) NOT NULL,

stanza text NOT NULL,

PRIMARY KEY (username,messageID)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofPfRules (

id bigint(20) NOT NULL AUTO_INCREMENT,

ruleorder bigint(20) DEFAULT NULL,

type varchar(255) DEFAULT NULL,

tojid varchar(255) DEFAULT NULL,

fromjid varchar(255) DEFAULT NULL,

rulef varchar(255) DEFAULT NULL,

disabled tinyint(1) DEFAULT NULL,

log tinyint(1) DEFAULT NULL,

description varchar(255) DEFAULT NULL,

sourcetype varchar(255) DEFAULT NULL,

desttype varchar(255) DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

CREATE TABLE IF NOT EXISTS ofPresence (

username varchar(64) NOT NULL,

offlinePresence text,

offlineDate char(15) NOT NULL,

PRIMARY KEY (username)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofPrivacyList (

username varchar(64) NOT NULL,

name varchar(100) NOT NULL,

isDefault tinyint(4) NOT NULL,

list text NOT NULL,

PRIMARY KEY (username,name),

KEY ofPrivacyList_default_idx (username,isDefault)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofPrivate (

username varchar(64) NOT NULL,

name varchar(100) NOT NULL,

namespace varchar(200) NOT NULL,

privateData text NOT NULL,

PRIMARY KEY (username,name,namespace(100))

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofProperty (

name varchar(100) NOT NULL,

propValue text NOT NULL,

PRIMARY KEY (name)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofPubsubAffiliation (

serviceID varchar(100) NOT NULL,

nodeID varchar(100) NOT NULL,

jid varchar(255) NOT NULL,

affiliation varchar(10) NOT NULL,

PRIMARY KEY (serviceID,nodeID,jid(70))

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofPubsubDefaultConf (

serviceID varchar(100) NOT NULL,

leaf tinyint(4) NOT NULL,

deliverPayloads tinyint(4) NOT NULL,

maxPayloadSize int(11) NOT NULL,

persistItems tinyint(4) NOT NULL,

maxItems int(11) NOT NULL,

notifyConfigChanges tinyint(4) NOT NULL,

notifyDelete tinyint(4) NOT NULL,

notifyRetract tinyint(4) NOT NULL,

presenceBased tinyint(4) NOT NULL,

sendItemSubscribe tinyint(4) NOT NULL,

publisherModel varchar(15) NOT NULL,

subscriptionEnabled tinyint(4) NOT NULL,

accessModel varchar(10) NOT NULL,

language varchar(255) DEFAULT NULL,

replyPolicy varchar(15) DEFAULT NULL,

associationPolicy varchar(15) NOT NULL,

maxLeafNodes int(11) NOT NULL,

PRIMARY KEY (serviceID,leaf)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofPubsubItem (

serviceID varchar(100) NOT NULL,

nodeID varchar(100) NOT NULL,

id varchar(100) NOT NULL,

jid varchar(255) NOT NULL,

creationDate char(15) NOT NULL,

payload mediumtext,

PRIMARY KEY (serviceID,nodeID,id)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofPubsubNode (

serviceID varchar(100) NOT NULL,

nodeID varchar(100) NOT NULL,

leaf tinyint(4) NOT NULL,

creationDate char(15) NOT NULL,

modificationDate char(15) NOT NULL,

parent varchar(100) DEFAULT NULL,

deliverPayloads tinyint(4) NOT NULL,

maxPayloadSize int(11) DEFAULT NULL,

persistItems tinyint(4) DEFAULT NULL,

maxItems int(11) DEFAULT NULL,

notifyConfigChanges tinyint(4) NOT NULL,

notifyDelete tinyint(4) NOT NULL,

notifyRetract tinyint(4) NOT NULL,

presenceBased tinyint(4) NOT NULL,

sendItemSubscribe tinyint(4) NOT NULL,

publisherModel varchar(15) NOT NULL,

subscriptionEnabled tinyint(4) NOT NULL,

configSubscription tinyint(4) NOT NULL,

accessModel varchar(10) NOT NULL,

payloadType varchar(100) DEFAULT NULL,

bodyXSLT varchar(100) DEFAULT NULL,

dataformXSLT varchar(100) DEFAULT NULL,

creator varchar(255) NOT NULL,

description varchar(255) DEFAULT NULL,

language varchar(255) DEFAULT NULL,

name varchar(50) DEFAULT NULL,

replyPolicy varchar(15) DEFAULT NULL,

associationPolicy varchar(15) DEFAULT NULL,

maxLeafNodes int(11) DEFAULT NULL,

PRIMARY KEY (serviceID,nodeID)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofPubsubNodeGroups (

serviceID varchar(100) NOT NULL,

nodeID varchar(100) NOT NULL,

rosterGroup varchar(100) NOT NULL,

KEY ofPubsubNodeGroups_idx (serviceID,nodeID)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofPubsubNodeJIDs (

serviceID varchar(100) NOT NULL,

nodeID varchar(100) NOT NULL,

jid varchar(255) NOT NULL,

associationType varchar(20) NOT NULL,

PRIMARY KEY (serviceID,nodeID,jid(70))

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofPubsubSubscription (

serviceID varchar(100) NOT NULL,

nodeID varchar(100) NOT NULL,

id varchar(100) NOT NULL,

jid varchar(255) NOT NULL,

owner varchar(255) NOT NULL,

state varchar(15) NOT NULL,

deliver tinyint(4) NOT NULL,

digest tinyint(4) NOT NULL,

digest_frequency int(11) NOT NULL,

expire char(15) DEFAULT NULL,

includeBody tinyint(4) NOT NULL,

showValues varchar(30) DEFAULT NULL,

subscriptionType varchar(10) NOT NULL,

subscriptionDepth tinyint(4) NOT NULL,

keyword varchar(200) DEFAULT NULL,

PRIMARY KEY (serviceID,nodeID,id)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofRemoteServerConf (

xmppDomain varchar(255) NOT NULL,

remotePort int(11) DEFAULT NULL,

permission varchar(10) NOT NULL,

PRIMARY KEY (xmppDomain)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofRoster (

rosterID bigint(20) NOT NULL,

username varchar(64) NOT NULL,

jid varchar(1024) NOT NULL,

sub tinyint(4) NOT NULL,

ask tinyint(4) NOT NULL,

recv tinyint(4) NOT NULL,

nick varchar(255) DEFAULT NULL,

PRIMARY KEY (rosterID),

KEY ofRoster_unameid_idx (username),

KEY ofRoster_jid_idx (jid(333))

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofRosterGroups (

rosterID bigint(20) NOT NULL,

rank tinyint(4) NOT NULL,

groupName varchar(255) NOT NULL,

PRIMARY KEY (rosterID,rank),

KEY ofRosterGroup_rosterid_idx (rosterID)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofRRDs (

id varchar(100) NOT NULL,

updatedDate bigint(20) NOT NULL,

bytes mediumblob,

PRIMARY KEY (id)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofSASLAuthorized (

username varchar(64) NOT NULL,

principal text NOT NULL,

PRIMARY KEY (username,principal(200))

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofSecurityAuditLog (

msgID bigint(20) NOT NULL,

username varchar(64) NOT NULL,

entryStamp bigint(20) NOT NULL,

summary varchar(255) NOT NULL,

node varchar(255) NOT NULL,

details text,

PRIMARY KEY (msgID),

KEY ofSecurityAuditLog_tstamp_idx (entryStamp),

KEY ofSecurityAuditLog_uname_idx (username)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofUser (

username varchar(64) NOT NULL,

plainPassword varchar(32) DEFAULT NULL,

encryptedPassword varchar(255) DEFAULT NULL,

name varchar(100) DEFAULT NULL,

email varchar(100) DEFAULT NULL,

creationDate char(15) NOT NULL,

modificationDate char(15) NOT NULL,

PRIMARY KEY (username),

KEY ofUser_cDate_idx (creationDate)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofUserFlag (

username varchar(64) NOT NULL,

name varchar(100) NOT NULL,

startTime char(15) DEFAULT NULL,

endTime char(15) DEFAULT NULL,

PRIMARY KEY (username,name),

KEY ofUserFlag_sTime_idx (startTime),

KEY ofUserFlag_eTime_idx (endTime)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofUserProp (

username varchar(64) NOT NULL,

name varchar(100) NOT NULL,

propValue text NOT NULL,

PRIMARY KEY (username,name)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofVCard (

username varchar(64) NOT NULL,

vcard mediumtext NOT NULL,

PRIMARY KEY (username)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS ofVersion (

name varchar(50) NOT NULL,

version int(11) NOT NULL,

PRIMARY KEY (name)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

my.cnf:

[mysqld]

character-set-server=utf8

init-connect=‘SET NAMES utf8’

collation-server=utf8_general_ci

skip-name-resolve

connect_timeout=1

user = mysql

socket = /var/run/mysqld/mysqld.sock

port = 3306

basedir = /usr

datadir = /var/lib/mysql

tmpdir = /tmp

skip-external-locking

key_buffer = 16M

max_allowed_packet = 16M

thread_stack = 192K

thread_cache_size = 8

myisam-recover = BACKUP

query_cache_limit = 2M

query_cache_size = 32M

open-files-limit = 4096

tmp_table_size = 268435456

table_open_cache = 512

key_buffer_size = 128M

table_cache = 8192

general_log_file = /var/log/mysql/mysql.log

general_log = 0

log_error = /var/log/mysql/error.log

expire_logs_days = 10

max_binlog_size = 100M

innodb_file_per_table=1

[mysqldump]

quick

quote-names

max_allowed_packet = 16M

[mysql]

[isamchk]

key_buffer = 16M