openfire 登陆 mysql转mongo性能测试及性能提升

登陆要修改的表:

OfPresence、OfRoster、OfRosterGroups、OfUserFlag、OfUserProp


Mysql迁移到mongo数据库功能已完成,为了进一步提高性能,考虑以下几个方面:

(1)  确认index是否添加

在多主键时使用如下方案,只对id做索引即可

@PrePersist

    private void changeMutiId()

    {

      this.id =username.concat(MongoConnectionProvider.mutiSplite).concat(remarkeduser);

   }

其中少于3个字符串进行连接时使用String.concat ()(参考http://www.blogjava.net/javagrass/archive/2010/01/24/310650.html)

(2)  使用morphia @id标记id作为主键,替代mysql主键唯一功能

 

其他mongo常见问题处理见如下链接:

http://blog.chinaunix.net/uid-25046147-id-3307269.html

http://opsmysql.blog.51cto.com/2238445/1083431

http://www.csdn.net/article/2012-11-15/2811920-mongodb-quan-gong-lue

mongo监控详解见:

http://www.cnblogs.com/zhuque/archive/2013/03/29/2988577.html



——————————————————————————分割线————————————————————————————————————————

性能测试结果:(Intel(R) Xeon(R) CPU 2.13GHz  ,内存:4139668 kB,64位)

数据库类型方式总发送请求数失败数请求完成时长成功数总实时长每秒完成数备注
mysql1w线程,每个线程发送一个请求10000304384459970204408556722.73945421
mysql1w线程,每个线程发送一个请求1000024772699998245464329820.94835407
mysql1w线程,每个线程发送一个请求10000047474210000243542133521.0640727
mysql1w线程,每个线程发送一个请求1000019984701278002246437323917.02093264
20.4432034平均值
Mongo1w线程,每个线程发送一个请求1000003823410000197587486261.5473139
Mongo1w线程,每个线程发送一个请求1000003608310000189222119277.1388188
Mongo1w线程,每个线程发送一个请求1000003563310000188300176280.6387338
Mongo1w线程,每个线程发送一个请求1000003609110000186487906277.0773877
Mongo1.5W线程,每个线程发送一个请求1500005269915000408320029284.6353821
Mongo1.5W线程,每个线程发送一个请求1500005576215000434557476269.0003945
Mongo2W线程,每个线程发送一个请求2000007227220000748674330276.7323445
Mongo2W线程,每个线程发送一个请求2000007154120000752411949279.5599726
Mongo3W线程,每个线程发送一个请求300000105877300001647957984283.3476581
Mongo3.8W线程,每个线程发送一个请求380000133790380002649965141284.0272068
Mongo3.8W线程,每个线程发送一个请求380000131343380002589511742289.3188065
Mongo3.85W线程,每个线程发送一个请求385000135422385002722163808284.2964954
278.9433762平均值


结论:登陆时,mongo比mysql快一个数量级
Mongo 并发线程峰值数由于数据准备不齐全导致还没有测到当前是38500,mysql基本稳定在10000


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值