游戏开发到后期,随之而来的是各种性能测试调优。前两天看两年前写的数据库服务器,那叫一个囧,当初设计是单线程的,也就是所有的数据库操作请求放入一个队列中,逐个取出来做数据库查询操作。虽然mysql 的性能很赞,但要是这样游戏有个几万人在线,数据库服务器肯定吃不消。得益于innodb 的行锁支持,很多数据库的请求都是可以被并行处理的,比如两个角色A 、B 同时登录,进行登录验证并且获取角色列表请求,角色A 和B 数据是完全不相干的,所有可以并行处理。
后期数据库改动可是个大工程,不过为了性能还是忍了,狂改了一个星期,才把所有的数据库操作搞定。
数据库