V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ThreeBody
V2EX  ›  问与答

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

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


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

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

    不过说实话,有这点折腾的精力不如淘宝买点便宜的旧服务器来大力出奇迹得了。
    ThreeBody
        6
    ThreeBody  
    OP
       2018-10-24 01:15:08 +08:00 via Android
    @ETiV 谢谢,不过公司是又不少内部服务器的,如果只是性能问题的话,公司估计直接给我们加服务器了,服务器公司也不少的
    ThreeBody
        7
    ThreeBody  
    OP
       2018-10-24 01:18:53 +08:00 via Android
    @msg7086 是的,如果要在 faketime 的源码上下功夫,估计我们直接改我们现有项目可能会更快点
    不过想着会不会有奇门怪招可以简单地在单服上解决问题,所以才来问问
    其实服务器的话我们公司不少……只是想直接通过现有服务器解决
    ThreeBody
        8
    ThreeBody  
    OP
       2018-10-24 01:19:04 +08:00 via Android
    @msg7086 谢谢你的回复
    changnet
        9
    changnet  
       2018-10-24 01:59:41 +08:00 via Android   ❤️ 1
    我们公司是各人用自己的电脑建私服测试,想怎么调就怎么调。还不够就 virtualbox 上虚拟机
    ThreeBody
        10
    ThreeBody  
    OP
       2018-10-24 08:22:41 +08:00 via Android
    @changnet 谢谢回复, 我们开发的当然是直接自己电脑开发调试了,问题是要搭建好给 qa 们测试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2857 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:12 · PVG 21:12 · LAX 06:12 · JFK 09:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.