How do I create a single dedicated syracuse node dedicated for batch server?

SOLVED

Hi,

Reference on:  RE: 69 sessions of Type Batch in Session Management and Batch Server in Starting state with no Diagnosis results 

On-premise Sage X3 installation. CPU upgrade is impossible to be an approved request without a proven Sage reference.

I would like to enforce a dedicated syracuse node for the batch server separated from other web syracuse nodes.

How do I do this?

I know I can dedicate which runtime in Application cluster to use by Sage X3 runtime tags in Administration > X3 solutions and Administration > Batch Server but how would I control the syracuse node (and the syracuse's hostname server as well) for the batch server?

Reasoning is the Sage X3 syracuse servers used will load balance under stress (including recurring task which is expected to grow more than 50 scheduled daily at designated times including accounting task running per minute) due to CPU clockspeed is lower than required (I have requested for upgrade but hosting provider and management do not agree to the pricing to match Sage X3 expectations).

During syracuse's internal load balancing, I am afraid it would miss the recurring task timing as the batch server would need to be moved to second node, delaying the overall processing of the data and possible mistake causing the issue to reoccur in the reference thread (original Syracuse's Batch Server's process ID is still active but syracuse attempt to start a second one, which leads to a situation where syracuse stuck at starting state since it cannot start another Batch Server process ID when there is already a Batch Server process ID as shown in the Administration > session information under Type: Batch).

  • +1
    verified answer

    Hi,

    This cannot be done. 

    You might try posting your issue to our developer site. Perhaps a developer from Sage or a business partner will have some alternative suggestions for you.

    https://developer.sage.com/

  • 0 in reply to pnightingale

    Understood, I will mark it down as an internal limitation of the Sage X3 v12 infrastructure.

  • +1
    verified answer

    I am not sure I understand the problem you are trying to workaround, but as Pam says it is not directly possible to set batch server thread on a specific Syracuse server. 

    However I believe you can get close in a roundabout sort of way.   You would have to have an external load balancer in front of your Syracuse nodes (lets call the servers BATCH, USR1 and USR2) so you load balance inbound connections to USR1 and USR2 only, which puts all the user load onto these two servers.  You then need to make sure you startup BATCH first every time, as the batch server will start-up on the first available server.   You can tune BATCH to have only 1 child process and no Web Server child processes as it will only be running batch server thread.  

    Worse case scenario I can think of is if BATCH goes down, then the batch thread will get moved to USR1 or USR2 so your recovery would need to include starting up BATCH then shutting down USR1 and USR2 to reset the batch server thread back onto BATCH... maybe I am missing something but think this would sort of work?

  • 0 in reply to Mike Shaw

    Hi ,

    I am trying to resolve a longstanding performance issue for an on-premise multi-tier setup running about 500+ sessions on a 4-nodes single Syracuse Server on a Intel Xeon Silver 4310 2.1GHz chipset (8 processors in syracuse server, 6 processors on runtime/application server; non-negotiable to go up to Intel Xeon Gold/Platinum CPU at the moment, open to adding more processors or VM/server to the problem).

    As per problem faced in:  RE: 69 sessions of Type Batch in Session Management and Batch Server in Starting state with no Diagnosis results 

      has provided the concept from Sage X3 point of view when Syracuse node decided to load balance for any reason (such as overloaded node).

    The reasoning I am checking for this capability is my side's lack of information and reading comprehension issue on Syracuse log on how the Batch Server will respond to any syracuse node failure (such as the issue shown on thread, which caused a deadlock situation of waiting on the previous batch server's process ID to end before the current process ID to start properly) and because if I can designate a runtime to batch server use only by X3 runtime tag, then it should be theoretically possible to lock one syracuse node without internal cluster to the batch server use only.