使用cu管家管理Maxcompute多项目
我们在maxcompute的实际使用中,采用了多项目的方式,具体可参看之前写的一篇博客:MaxCompute多团队协同数据开发项目管理最佳实践 虽然有很多优点,但是实际使用过程中还需要maxcompute管家来配合管理这些项目:
1. 各个项目资源监控
- 能够一目了然的看到每个项目使用资源的情况
- 每个时段计算资源和存储资源的使用情况,有利于我们发现一些性能比较差的任务
- 如图红框的那个时段可能会有性能较差的任务
- 会有这样的一些任务:运行时间比较长,消耗资源比较大,但是产出时间不需要那么及时,这时候我们可以将这些任务定时在自己资源相对比较空闲的时段运行
-
如图:类似的任务可放在17点半以后执行
3. 计算资源分配和隔离(Quota设置)
- 对于计算资源使用比较大的用户来说,显然购买预付费资源要划算很多,如果所有项目都平等的使用这个资源池,则难免会发生资源争抢的情况,而有些重要的业务线(项目),需要优先分配更多的计算资源;
- 团队开发人员的水平参差不齐,一个性能比较差的查询很可能影响到多个项目的任务,我们目前是每个项目一个quota,min的值设置的比较小;
-
Max为最大分配的资源,Min为最小保障资源 , 如果要提高这个quota的优先级,可以增加Min的值
- 当发现集群较卡的时候,能通过instance查询,很快的找到当前影响集群的任务,找到运行者
- 这种情况一般是执行时间比较长的和CPU内存消耗比较多的任务是导致集群卡的主要原因,可以找到对应的项目,开发者等其他信息
最后提一个小细节的改进意见:系统状态可以对比历史的资源消耗,这样能更快的找出从什么开始增加或减少了或优化了某些任务后,资源的变化情况