JRuby 在 OpenFeint 的应用及性能优化
黄志敏在 RubyCC2012 会议上介绍了 JRuby 在 OpenFeint 的应用和性能优化经验。下面是对该主题的详细知识点总结:
一、OpenFeint 简介
OpenFeint 是最大的移动社交游戏平台,拥有每分钟数十万的 API 调用次数。去年,该公司被GREE收购。OpenFeint 使用 REE 1.8.7+Rails 2.3.14 作为技术栈。
二、JRuby 的优势
黄志敏认为,JRuby 可以为 OpenFeint 带来 40% 的性能提升。JRuby 是一个基于 Java 的 Ruby 实现,具有高性能和可扩展性。使用 JRuby,可以解决 Ruby 的垃圾回收(GC)问题,提高服务器端的性能。
三、为什么选择 JRuby?
黄志敏认为,选择 JRuby 是为了提高 OpenFeint 服务器端的性能。JRuby 可以提供更好的性能和可扩展性,满足 OpenFeint 的业务需求。
四、JRuby 的性能测试
黄志敏进行了使用 JRuby 和 REE 的性能测试。测试结果显示,JRuby 1.6.7.2+TorqueBox 的性能要比 REE 1.8.7+Passenger 高出许多。禁用 mysqlsharding、background job 和其他无法工作的部分后,JRuby 的性能优势更加明显。
五、JRuby 的迁移策略
黄志敏提出了 JRuby 的迁移策略,包括 fetch_friend_status、OpenFeint 基础设施、LoadBalancers 和 Web/AppServer 等。该策略可以帮助开发者更好地迁移到 JRuby 平台。
六、JRuby 在 OpenFeint 的应用
黄志敏介绍了 JRuby 在 OpenFeint 的应用经验,包括使用 JRuby 提高服务器端的性能、解决 Ruby 的 GC 问题等。该经验可以为开发者提供有价值的参考。
七、结论
黄志敏的分享为我们展示了 JRuby 在 OpenFeint 的应用和性能优化经验。JRuby 的高性能和可扩展性使其成为 OpenFeint 的不二之选。开发者可以根据实际情况选择 JRuby,以提高服务器端的性能和可扩展性。