SaltStack Salt Syndic的3级拓扑执行速度非常慢

时间:2015-01-13 15:10:53

标签: salt-stack

我设计了一个包含3个虚拟机的3级基础架构(testfer-01,testfer-02& testfer-03),而第3个基础架构不可能达到第1个,因此第2个必须采取行动作为中间人。为此,我在第二层使用了salt-syndic守护进程。更多信息:http://docs.saltstack.com/en/latest/topics/topology/syndic.html

总而言之,这就是每个VM上运行的内容:

testfer-01: salt-master
testfer-02: salt-master, salt-syndic & salt-minion
testfer-03: salt-minion

我已设置以下文件(默认设置其他所有选项):

testfer-01:在/ etc /盐/主:

order_masters: True

testfer-02:在/ etc /盐/主:

syndic_master: testfer-01

testfer-02:在/ etc /盐/仆从:

master: testfer-01

testfer-03:在/ etc /盐/仆从:

master: testfer-02

然后,一旦钥匙被接受,我已经成功地"测试了顶层机器的连接性。但是,太多时间:

[root@testfer-01 ~]# time salt '*' test.ping
testfer-02.local:
    True
testfer-03.local:
    True

real    0m15.412s
user    0m0.716s
sys     0m0.216s

任何人都知道为什么?

编辑:显示命令/模块输出(那些" True"本例中的字符串)非常快(不超过2秒)。但是,如果我对这个过程进行了分析,那么这个过程会显示大量的gettimeofday调用大约10秒......

...
poll([{fd=30, events=POLLIN}], 1, 0)    = 0 (Timeout)
gettimeofday({1421223627, 431608}, NULL) = 0
select(0, NULL, NULL, NULL, {0, 10000}) = 0 (Timeout)
poll([{fd=9, events=POLLIN}], 1, 0)     = 0 (Timeout)
gettimeofday({1421223627, 441964}, NULL) = 0
poll([{fd=30, events=POLLIN}], 1, 0)    = 0 (Timeout)
gettimeofday({1421223627, 442102}, NULL) = 0
select(0, NULL, NULL, NULL, {0, 10000}) = 0 (Timeout)
poll([{fd=9, events=POLLIN}], 1, 0)     = 0 (Timeout)
gettimeofday({1421223627, 452523}, NULL) = 0
poll([{fd=30, events=POLLIN}], 1, 0)    = 0 (Timeout)
gettimeofday({1421223627, 452720}, NULL) = 0
...

2 个答案:

答案 0 :(得分:1)

我们刚刚在repo.saltstack.com上发布了2016.3版本,这对于syndic有几个非常重要的速度改进和修复。你可以对此进行测试吗?

答案 1 :(得分:0)

使用版本2016.3而没有其他单一修改:

$scope.clinicWorkingSchedules = [ 
        {   workingDay: '',
            workingHours: []
        }
      ]

  $scope.sendClinicTiming= function(id,workingDay,fromTime,toTime){

   var data={
          'id':id,
          'clinicWorkingSchedules':$scope.clinicWorkingSchedules
         };
   $http.post($scope.API_url,
    data, config)
    .success(function(data, status));


  };