登陆要修改的表:
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./javagrass/archive/2010/01/24/310650.html)
(2) 使用morphia @id标记id作为主键,替代mysql主键唯一功能
其他mongo常见问题处理见如下链接:
http://blog./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位)
数据库类型 |
方式 |
总发送请求数 |
失败数 |
请求完成时长 |
成功数 |
总实时长 |
每秒完成数 |
备注 |
mysql |
1w线程,每个线程发送一个请求 |
10000 |
30 |
438445 |
9970 |
2044085567 |
22.73945421 |
mysql |
1w线程,每个线程发送一个请求 |
10000 |
2 |
477269 |
9998 |
2454643298 |
20.94835407 |
mysql |
1w线程,每个线程发送一个请求 |
10000 |
0 |
474742 |
10000 |
2435421335 |
21.0640727 |
mysql |
1w线程,每个线程发送一个请求 |
10000 |
1998 |
470127 |
8002 |
2464373239 |
17.02093264 |
20.4432034 |
平均值 |
Mongo |
1w线程,每个线程发送一个请求 |
10000 |
0 |
38234 |
10000 |
197587486 |
261.5473139 |
Mongo |
1w线程,每个线程发送一个请求 |
10000 |
0 |
36083 |
10000 |
189222119 |
277.1388188 |
Mongo |
1w线程,每个线程发送一个请求 |
10000 |
0 |
35633 |
10000 |
188300176 |
280.6387338 |
Mongo |
1w线程,每个线程发送一个请求 |
10000 |
0 |
36091 |
10000 |
186487906 |
277.0773877 |
Mongo |
1.5W线程,每个线程发送一个请求 |
15000 |
0 |
52699 |
15000 |
408320029 |
284.6353821 |
Mongo |
1.5W线程,每个线程发送一个请求 |
15000 |
0 |
55762 |
15000 |
434557476 |
269.0003945 |
Mongo |
2W线程,每个线程发送一个请求 |
20000 |
0 |
72272 |
20000 |
748674330 |
276.7323445 |
Mongo |
2W线程,每个线程发送一个请求 |
20000 |
0 |
71541 |
20000 |
752411949 |
279.5599726 |
Mongo |
3W线程,每个线程发送一个请求 |
30000 |
0 |
105877 |
30000 |
1647957984 |
283.3476581 |
Mongo |
3.8W线程,每个线程发送一个请求 |
38000 |
0 |
133790 |
38000 |
2649965141 |
284.0272068 |
Mongo |
3.8W线程,每个线程发送一个请求 |
38000 |
0 |
131343 |
38000 |
2589511742 |
289.3188065 |
Mongo |
3.85W线程,每个线程发送一个请求 |
38500 |
0 |
135422 |
38500 |
2722163808 |
284.2964954 |
278.9433762 |
平均值 |
结论:登陆时,mongo比mysql快一个数量级
Mongo 并发线程峰值数由于数据准备不齐全导致还没有测到当前是38500,mysql基本稳定在10000 |
|