请教一个问题:“因调试需求,需要给测试们开一堆可以给不同人改时间又互不影响的应用(或者虚拟机)”,请问有什么样的解决方案呢?

2018-10-23 22:53:15 +08:00
 ThreeBody
标题好像很难总结好
我们是做游戏的,游戏里面有一些特定时间才能激活的功能,所以就需要用到改时间的方法来测试各种功能。
但是因为功能多、测试的人多、版本也好几个,所以一台服务器肯定不够多人同时调试;
我们当前的做法是用 KVM 开虚拟机,我们当前开了 4 台,但是其实还不够。但是如果继续开虚拟机,配置麻烦,也浪费资源。
之前想用 Docker 解决,但是后来发现 Docker 的修改时间方法都是调用系统内核的方法,会影响到其他应用
后来找到了 libfaketime,但是看了文档以及自己用了一下,发现只能在启动的时候修改一次,后续不能再继续修改时间了(不知道是不是用法上不对)


所以想请教一下,有没有专门解决这类需求的解决方案呢?

先谢过大家了!
1577 次点击
所在节点    问与答
10 条回复
ETiV
2018-10-23 23:17:45 +08:00
我们也是游戏~阿里云开机器就行了
msg7086
2018-10-24 00:25:30 +08:00
配置麻烦?浪费资源?
ThreeBody
2018-10-24 00:49:34 +08:00
@msg7086 是的,虚拟机的话,还有很多东西要配置的,如果不是调试时间的服务器,不用一分钟就解决了,只需要配置部分游戏参数即可
ThreeBody
2018-10-24 00:51:03 +08:00
@msg7086 浪费是真的,每开一台 kvm,性能下降很多,不需要时间服务器的情况下,开了七八个游戏程序都没问题
msg7086
2018-10-24 01:05:31 +08:00
系统时间是一个很重要的属性,不能随便修改的,要修改是需要完全虚拟化,把操作系统隔离开才行。
Faketime 也只是拦截了日期函数然后返回偏移后的时间,如果你一定要边跑边改的话,我猜测你可以修改它的源码,实时读取外部配置文件,然后动态改变日期偏移。一定要在同一个内核下运行的话,不用这种邪道估计解决不了。

不过说实话,有这点折腾的精力不如淘宝买点便宜的旧服务器来大力出奇迹得了。
ThreeBody
2018-10-24 01:15:08 +08:00
@ETiV 谢谢,不过公司是又不少内部服务器的,如果只是性能问题的话,公司估计直接给我们加服务器了,服务器公司也不少的
ThreeBody
2018-10-24 01:18:53 +08:00
@msg7086 是的,如果要在 faketime 的源码上下功夫,估计我们直接改我们现有项目可能会更快点
不过想着会不会有奇门怪招可以简单地在单服上解决问题,所以才来问问
其实服务器的话我们公司不少……只是想直接通过现有服务器解决
ThreeBody
2018-10-24 01:19:04 +08:00
@msg7086 谢谢你的回复
changnet
2018-10-24 01:59:41 +08:00
我们公司是各人用自己的电脑建私服测试,想怎么调就怎么调。还不够就 virtualbox 上虚拟机
ThreeBody
2018-10-24 08:22:41 +08:00
@changnet 谢谢回复, 我们开发的当然是直接自己电脑开发调试了,问题是要搭建好给 qa 们测试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/500418

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX