Load balancing in Tuxedo.

I started two instances of my server application by specifying MIN=2. I specified LDBAL Y. But in this case only one server is receiving the messages. Messages are not directed to the second server even when the first server is busy. Messages are sequentially executed by only one server. How can you direct the messages or the buffer to the second instance of the server while the first one is busy processing?

Surprisingly enough, Load Balancing does not mean that the load is
balanced among all server instances.
In SHM mode, requests will always go to an empty queue, and if the first
server can keep up with the load, its queue will be empty, and it will
get all of the requests. It is more efficient to have the same memory
image handle requests, than to rotate among different processes.
If the first queue is empty, the request goes to the next empty queue.
If all the queues have work waiting, then the load is distributed.
In MP mode, if there is a local idle server, then the request goes
there. Otherwise, the requests are assigned round-robin based on their
load factors, to keep balanced load going to each queue. Each machine
only sees the load it has sent, not the requests that another machine
has sent.
     Scott Orshan
     BEA Systems
Need answers? Try Ask-BEA at askbea.bea.com.
The views expressed in this posting are solely those of the author,
and BEA Systems, Inc. does not endorse any of these views. BEA
Systems, Inc. is not responsible for the accuracy or completeness of
the information provided and assumes no duty to correct, expand upon,
delete or update any of the information contained in this posting.
Subrahmanya Kadiyala wrote:
>
I started two instances of my server application by specifying MIN=2. I specified LDBAL Y. But in this case only one server is receiving the messages. Messages are not directed to the second server even when the first server is busy. Messages are sequentially executed by only one server. How can you direct the messages or the buffer to the second instance of the server while the first one is busy processing?

Similar Messages

  • Monitoring Load balancing in Tuxedo 9.1 and RAC ?

    Hi all,
    I wrote this question in the old forum bea [http://forums.bea.com/thread.jspa?threadID=300006084], and now I have more question about monitoring of load balancing in tuxedo with RAC:
    How can I monitor the load balancing in Tuxedo with RAC?
    How can I check that the load balancing of tuxedo is running correctly?
    How can I know that group are using my requests?
    We need know if the request use the instance ORARAC1 (groups GRP_A1 and GRP_A2) or
    use the instace ORARAC2 (groups GRP_B1 and GRP_B2).
    There is some tool (similar txrpt) that displays this information in tuxedo 9.1?
    Thanks in advance
    P.D.: Excuse my english

    Logistics Management vs Supply Chain Management
    Chapter 1 Logistics
    1.1 Logistics Management vs Supply Chain Management
    First of all, we must clarify this big semantic matter: what is logistics? what is Supply Chain ? are these two names equivalent?
    We can represent this question by this figure
    Is SC part of the logistics? or is it the reverse? or is logistics replaced by SC? or are both the same? or are logistics and SC covering partly the same matter but both continue to exist ?
    To answer to that question, we have to consider the definition of each concept. We use the definitions commonly accepted by the CSCMP (Council of Supply Chain Management Professionals). These definitions also are used by the APICS (The Association for Operations Management: the global leader and premier source of the body of knowledge in operations management, including production, inventory, supply chain, materials management, purchasing, and logistics.)
    The logistics management is that part of the Supply Chain process, which plans, implements and controls the efficient, effective flow and storage of goods, services and related information from the point of origin to the point of consumption in order to meet customers’ requirements.
    The supply chain management is the integration of key business processes, from the end user through original suppliers that provides products, services and information that add value for customers and other stakeholders.
    Thus the answer to our first question is clearly
    In a Supply Chain, each enterprise is a partner; each partner is fully responsible for a process that transforms inputs into outputs using some resources and following the rules or norms.
    The concept of supply chain suggests a series of processes linked together (they form a chain !).
    Figure 3
    Somebody is the producer of the raw material, somebody transforms it into a product, somebody incorporates the product into an assembly, somebody stores the finish good, somebody sells it, somebody transports it and finally a retailer sells it to a final customer who is the consumer.
    Some of these processes are sourcing, others are manufacturing and others are distribution.
    If we illustrate the system for a more complex product, we obtain the hereunder schematic.
    The pilot of the Supply Chain must instruct each supplier about when and to whom they have to deliver their products. He must instruct supplier "A" to first supply "B" and later the main manufacturer; for another part, he must instruct "B" to first supply the main manufacturer and later the supplier "C", if it is the right way to get the product on time as promised to the customer.
    Figure 4
    1.2 Flows
    As indicated here above, all the partners are linked (they form a chain). These links cover 3 flows:
    1. physical product flow (material flow)
    The materials flow from suppliers to customers and from customers to suppliers (reverse flow).
    The products are packaged (primary package, secondary package, warehousing package, transport package). Each package fills a specific function. (to see chapter 6). Containers, pallets and some packaging are circulating round trip.
    The management of the materials flow must deliver products on time, in the proper sequence, exactly where they are needed.
    2. information flow
    Information is flowing in both directions, is passing each other, is colliding with others …
    The information include order, delivery, inventory level, production status, forecasts, quotation …
    The information could be considered as the piloting system of the other flows.
    The information is flowing between multiple organizations and enterprises, each one having its own managing system, its own value system ….
    3. financial flow
    They include credit terms, payment schedules, title ownership arrangements …
    A major problem concerns the coordination, the synchronization between all these flows. The final objective of the logistics / supply chain is to reduce costs and to improve service levels at the profit of all the partners of the chain, suppliers, manufacturer and customer. Each activity playing a role in making the product and the services conform to customer requirements (cost, delivery terms, quality …) is concerned.
    In the past, each enterprise was trying to strangle other enterprises to obtain the major advantage (and to avoid realizing some effort). The bigger was crashing the smaller.
    Today, no single enterprise is solely responsible for the competitiveness of its products and services. The benefit obtained by working in network must be shared between all the members of the chain. The sole strategy that performs is the win-win strategy.
    The competitiveness suppose to give a better service, a superior service to the final user of the product / service (decreased delivery times, repairing/exchanging defective parts, maintenance, warranties, price, reliability, performance).
    Today, we have to consider the total system wide cost; it includes manufacturing, transportation, packaging, warehousing, distribution, rework, repair, administrative costs. Managing the supply chain is not minimizing a single cost between two entities but, rather, on taking a global system approach to get, at the end, the better result that profits to every chain partner.
    If one looks at actions in isolation, it is not possible to have a global view and to identify how an isolated action could have a reverse effect. Each decision taken by a partner of the chain has an effect on the upstream and downstream partners. And this effect could be positive or negative. For example, a supplier will reduce its inventory that leads to increase the delivery terms of the downstream partners; for example, a transportation manager will delay a delivery to increase the volume to transport and to reduce the transportation cost.
    1.3 Management
    It is obvious that designing and operating a supply chain so that total system wide costs are minimized and system wide service levels are improved is very challenging. It is not easy to do that inside a single enterprise, how more if one must consider several enterprises. We could write that the complexity increase exponentially with the number of partners.
    with C = complexity of management, k a function depending of the product and n = number of partners.
    The criteria to be considered are:
    q the complexity of the network mainly if the partners are located over a large geographical area
    q the cultural clash between partners
    q the difference of capacities of partners: some are SME, others large enterprises, some are assembler, others are machining and some are giving service … Each partner has its own limits, its own capacities and its own resources. It is not thinkable to build a supply chain only with partners having the same constraints.
    q the planning process could be different depending of many factors external to the supply chain. It is normal that an enterprise could be partner of several supply chains (example: the ball bearings supplier belongs to several automotive manufacturers supply chains).
    q the supply chain is a dynamic system that evolves over time. Everything can change quickly or frequently either on the customers’ side, either on the suppliers’ side, either the market conditions, either the environmental conditions.
    1.4 Three levels of management
    As every activity, we have to consider the three levels: strategic, tactical and operational.
    a) Strategic level.
    The strategic level deals with decisions that have a long-lasting effect on the enterprise.
    Every department or service has to fit with the strategy of the enterprise.
    q The Supply Chain strategy must deal with the procurement of raw materials and all the components used by the enterprise.
    Procurement includes packaging, transportation, documentation, warehousing.
    q The Supply Chain strategy must deal with the logistics operations inside the manufacturing plant
    This includes the flows through the plant, the interoperations packaging, the information, the traceability …
    q The Supply Chain strategy must deal with the distribution and usage of the product by the customer.
    This includes the selection of the distribution channels and the operations to supply the retailers, the instructions of use and all the operations covered by the warranty and the after sales service.
    The long-lasting effect must be considered by product. If the life cycle of the product lasts several years, the strategic level covers more than 2 years; if the life cycle of the product lasts less than one year (i.e. tamagushi ….), the strategic level is not a fundamental step. But reasonably, the strategic level for the majority of the products covers 2 or 3 years.
    Some of the basic questions are: 1) make or buy question;
    2) location and capacities of production facilities, warehousing, transportation;
    3) technologies to be mastered;
    4) machines and equipments to be used, rented or …;
    5) layout of the production facilities and warehouses;
    6) quantities of products to be purchased, launched in production, stored, packed together, transported;
    7) the relevant information for the manufacturing;
    8) the training of the operators;
    It is obvious that all this has a cost and therefore has to be amortized on several years.
    b) Tactical level.
    The tactical level concerns generally a period of time of one year. It is prepared during the last quarter of the previous year.
    The tactical level has to focus on the expected situation at the end of the previous year to establish a series of significant data as 1) quantities to be distributed on each market;
    2) exact quantities of raw materials and components to be purchased and when to place orders 3) the planning of manufacturing by quantities, by specifications, …
    4) the distribution activities by month, mainly if the products demand is seasonal;
    5) to prepare the impact of the promotions on the distribution;
    6) to optimize all the logistics functions;
    7) to fix the key indicators to allow a performing management;
    8) to establish the calendar of each specific step to reach the annual objective;
    9) to match demand and supply
    The tactical level is the annual budget.
    c) Operational level.
    The operational level is the real time management. Some activities are planed on one week, others on a day and the updates are permanent. The operational level has to face the failure of a truck, the illness of a warehouseman or a driver, a urgent non planed order, and so on.
    The quality of an organization can be measured by the respect of a well constructed plan and by the reactivity face at unforeseen situations. No waste of time, no waste of resource must be the rule for the operational manager.
    He must be able: 1) to meet the better lead-times,
    2) to respond to any fluctuation of the demand,
    3) to deal with all the products (from fast moving goods to industrial component),
    4) to face any unexpected situation.
    To do that, he must pilot several logistical drivers as forecasting, transportation means, warehousing facilities, inventory, orders management, sourcing possibilities … and these drivers are fed by information. All these drivers can add value or cost at the customer’s eyes.
    q Forecasting allows to feed all the other drivers
    q Adapted transportation means allow fast loading and unloading and reduced operational costs by comparison with the value of the transported goods
    q Warehousing facilities are located at the best operational place to supply their customers (outbound) and to receive goods from suppliers (inbound); they have well adapted infrastructures to store goods. The objective is to get the better responsiveness, to get the better control on each local market, to get the cheapest cost.
    q Inventory must be adapted to the demand: enough to face unexpected demand and not too many what carries overstock and therefore additional costs and ageing products.
    q Orders management reduces lead time and allows a full control on all the documents issued from these orders as picking ticket, packing list, invoice, …
    q Sourcing possibilities allows a better control on the products arrival, access to the docks without waiting times, better management of the purchase orders …
    We can summarize all these concepts by 3 curves as follow and the total logistics cost is the sum of these three costs:
    Figure 5
    We can represent these situations by the following outline representing three concrete situations:
    Figure 6 a Figure 6b Figure 6c
    Figure 6a represents 4 suppliers delivering to 1 central warehouse and from this warehouse to the customers;
    Figure 6b represents 4 suppliers delivering to 2 central warehouses and each warehouse delivers to its customers;
    Figure 6c represents 4 suppliers delivering to several warehouses and each one delivers to its own customers.
    It is necessary to determine the number of warehouses, their locations, their sizes, the quantity of products to be stored and the location and number of customers to be supplied to get the best service at the lowest cost. The enterprise must compare the costs of opening more warehouses and the benefits to be closer to the customers.
    For another part, it is important to take into account the specificity of the warehouses: only to supply a manufacturing facility, only to supply end customers or supplying both manufacturing facility and end customers. The basic functions are the same but they are several important differences:
    q to supply a manufacturing facility means many suppliers (for raw materials and purchased components) and a few customers (manufacturing sections).
    q to supply end customers means very few suppliers ( final assembly line) and a large number of customers (all the customers for finished products and spare parts)
    q other differences concern the quantities, the size, the physical configurations, the variability and predictability of the demand, the unforeseen breakdowns (machines, trucks and trailers …), the capacity of each buffer between each manufacturing or supply process, lead-times acceptable by each downstream customer, size of batches, safety inventory size, risk parameters …
    1.5 Supply Chain Information
    As here above mentioned, information feeds all the logistics drivers. Therefore, it is important to detail the content of these information. The supply Chain Management manipulates a lot of information that each one affects strongly or weakly the results. Firstly, we have to consider the information that affect directly all the logistics drivers.
    Forecast is affected by the economic situation of the market, by the financial situation, by the wealth of the population, by the obstacles to the trade, by the adequacy between the specifications of the product and the needs of the customers … All the data concerning these parameters must be considered as useful information.
    Inventory is needed to face the responsiveness to the demand of the market. The Supply Chain Manager must know this requirement to establish correctly the level of inventory for each item as well as the inventory cost.
    Transportation information include frequency of each transport vector, capacity of each one, availability, possibility to circulate, cost, particular requirements as national flag or piracy risk ….
    Warehousing size and location have important consequences on several managerial decisions
    Computerized treatment of all these data allows to simulate the actions and their result, allows a fast and very reactive circulation of the information between all the members of the network, reduces the redundancy of some encoding operations just as the error risk, allows a good traceability of all the decisions and operations, authorizes a real time follow-up, improves the visibility on the various sequences … Information and Communication technologies play a critical role concerning the exchange of information between suppliers, manufacturer, customers, carriers and other services providers. To be performing, every enterprise must master an information system adapted to his needs but also allowing to be networked with all the other members of the Supply chain: it is a very critical competitive advantage to be better than the competition on that aspect. But, everybody understands the major difficulty to interconnect different systems. Information must be cheap, available as soon as needed, without time lag,
    1.6 Main actors
    As illustrated on the figure 3, each process is requiring resources.
    1.6.1 Human resources
    The human resources who have an impact on the supply chain are:
    q The buyers: they have to reference the suppliers who can work inside a supply chain. They must accept to work as the pilot of the supply chain decides it for the best of all the actors. The buyers must place the purchase orders when it is fixed by the Supply chain organization.
    q The designers: they have to design products that it is possible to pack and transport on the best economical way. But they also must design products with the specifications that the suppliers can realize and all the actors of the supply chain can store and transport. Finally, the products must be designed with the objective to be customized at the latest stages of manufacturing.
    q The packaging designers: they have to design packaging that can be economically manipulated by each member of the supply chain (size of the racks, trucks…), that correspond to the various quantities (to see §2.2) needed by the actors. It is also important that each packaging can be easily open and closed as frequently as required.
    q The manufacturers: they must be flexible to accept small or large batches and evidently the must produce quality on time.
    q The sellers: they must work with the precise specifications allowed by the design and with the quantities allowed by the agreement between all the parties.
    q The transporters: they must deliver on time and in perfect condition.
    q The warehousemen: they must act with the right diligence
    q The computer operators: they must deliver the right information at the right time to the right people. Each supply chain member can recuperate the data without risk of mistake or confusion to build the appropriated management system.
    1.6.2 Material resources
    The material resources must be sufficient, in good conditions, available when needed and well adapted to the products and operations. These conditions are required to be able to link together many process operators. Indeed, if an operator doesn’t master well his process, it is thinkable that he will not be able to respect quality, quantity or delivery date.
    This also supposes that the maintenance of all the equipments is well executed.

  • Load balancing in Tuxedo 9.1 and RAC

    Hello to all,
    I have some doubts on the way of balancing load in tuxedo 9.1 and RAC (Oracle 10gR2).
    Before, without RAC our configuration was the following one:
    GRP_A: service A001, service A002
    GRP_B: service B001, service B002
    Both groups were attacking the same BBDD, Now with the configuration in RAC we have the following thing:
    We have two intances RAC: ORARAC1 and ORARAC2
    TUXRACGROUPS=GRP_A1, GRP_B1; GRP_A2, GRP_B2
    The groups GRP_A1 = GRP_A2 and GRP_B1 = GRP_B2, but the groups GRP_A1 and GRP_B1 use the instance ORARAC1 and GRP_A2 and GRP_B2 use the instance ORARAC. Summarizing:
    GRP_A1: service A001, service A002 (ORARAC1)
    GRP_B1: service B001, service B002 (ORARAC1)
    GRP_A2: service A001, service A002 (ORARAC2)
    GRP_B2: service B001, service B002 (ORARAC2)
    Have formed the variable TUXRACGROUPS=GRP_A1, GRP_B1; GRP_A2, GRP_B2
    How is Tuxedo balancing the traffic?
    1) Does not balance load between RACGROUPS?
    2) Does it use RAC.. as favourite?
    3) Does the RACGROUPS balance when it's overlaeded or always?
    3) Does the same algorithm uses that LDBAL?, if this is affirmative, is it necessary to have formed in the ubb LDABL=Y?
    4) Tuxedo uses an algorithm of round-robin?
    5) others
    I have looked for information but I have not found any information that could help to understanding it.
    Thanks in advance
    P.D.: Excuse my english :(

    There is Oracle RAC routing information available at
    http://e-docs.bea.com/tuxedo/tux91/ads/adorac.htm#248431
    If you are not running in a transaction, then the TUXRACGROUPS environment
    variable will not be relevant and routing will be handled as it would be if
    this environment variable were not set.
    Assuming that GRP_A1 and GRP_A2 are the only groups that offer services A001
    and A002 and GRP_B1 and GRP_B2 are the only groups that offer services B001
    and B002, routing of service requests made within a transaction will be
    handled as follows:
    - Any call to A001 or A002 made within a transaction with an even GTRID
    counter value will be handled by GRP_A1. (The GTRID counter value is the
    last of the 3 hexadecimal numbers printed in the ULOG for messages printed
    within that transaction.)
    - Any call to A001 or A002 made within a transaction with an odd GTRID
    counter value will be handled by GRP_A2.
    - Any call to B001 or B002 made within a transaction with an even GTRID
    counter value will be handled by GRP_B1.
    -Any call to B001 or B002 made within a transaction with an odd GTRID
    counter value will be handled by GRP_B2.
    Ed
    <Briz Briz> wrote in message news:[email protected]...
    Hello to all,
    I have some doubts on the way of balancing load in tuxedo 9.1 and RAC
    (Oracle 10gR2).
    Before, without RAC our configuration was the following one:
    GRP_A: service A001, service A002
    GRP_B: service B001, service B002
    Both groups were attacking the same BBDD, Now with the configuration in
    RAC we have the following thing:
    We have two intances RAC: ORARAC1 and ORARAC2
    TUXRACGROUPS=GRP_A1, GRP_B1; GRP_A2, GRP_B2
    The groups GRP_A1 = GRP_A2 and GRP_B1 = GRP_B2, but the groups GRP_A1 and
    GRP_B1 use the instance ORARAC1 and GRP_A2 and GRP_B2 use the instance
    ORARAC. Summarizing:
    GRP_A1: service A001, service A002 (ORARAC1)
    GRP_B1: service B001, service B002 (ORARAC1)
    GRP_A2: service A001, service A002 (ORARAC2)
    GRP_B2: service B001, service B002 (ORARAC2)
    Have formed the variable TUXRACGROUPS=GRP_A1, GRP_B1; GRP_A2, GRP_B2
    How is Tuxedo balancing the traffic?
    1) Does not balance load between RACGROUPS?
    2) Does it use RAC.. as favourite?
    3) Does the RACGROUPS balance when it's overlaeded or always?
    3) Does the same algorithm uses that LDBAL?, if this is affirmative, is it
    necessary to have formed in the ubb LDABL=Y?
    4) Tuxedo uses an algorithm of round-robin?
    5) others
    I have looked for information but I have not found any information that
    could help to understanding it.
    Thanks in advance
    P.D.: Excuse my english :(

  • Tuxedo load balancing across system

    Hi there,
    does bea tuxedo version 8 or above has feature like weblogic to configure load balancing/failover across multiple system?
    Thanks,
    Simon

    Simon,
    Tuxedo does offer load balancing. A high-level description of this feature
    for Tuxedo 8.0 is at http://edocs.bea.com/tuxedo/tux80/atmi/intatm24.htm
    A description of the configuration file parameters used to set up load
    balancing is at http://edocs.bea.com/tuxedo/tux80/atmi/rf537.htm ; look for
    the LDBAL, NETLOAD, and LOAD parameters.
    <Simon Leong> wrote in message news:[email protected]..
    Hi there,
    does bea tuxedo version 8 or above has feature like weblogic to configureload balancing/failover across multiple system?
    >
    Thanks,
    Simon

  • Tuxedo Load Balancing & MSSQ

    Hi,
    We have a performance situation where Tuxedo is favouring one MSSQ out of the
    8 available across 2 boxes.
    Our configuration is that we have 8 Tuxedo Servers each publishing 4 instances
    of a particular E2A adapter service (a total of 32 instances of a particular service).
    Each of the 8 Tuxedo Servers has its own MSSQ and there are 4 Tuxedo Servers on
    each of the physical boxes. ie. 2 physical boxes.
    When the aforementioned service is called it favours one particular Tuxedo in
    a very odd manner.
    TMIB output shows the Q depths as (typically):
    Mon Sep 15 13:42:59 EST 2003
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 10
    TA_MSG_QNUM 0
    TA_MSG_QNUM 93
    Mon Sep 15 13:43:04 EST 2003
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 11
    TA_MSG_QNUM 0
    TA_MSG_QNUM 92
    Mon Sep 15 13:43:10 EST 2003
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 11
    TA_MSG_QNUM 0
    TA_MSG_QNUM 92
    Does anyone know what might cause Tuxedo to bias like like this?
    Significant ubb entries:
    $ tmunloadcf |grep -e LDBAL -e MODEL
    MODEL MP
    LDBAL Y
    $
    Master is HP-UX. Slaves running the E2A's and MSSQ are NT.
    Nigel

    Scott,
    You are right, the assignment of an MSSQ per server makes no sense, we will change
    it to have a single MSSQ per physical server, hopefully we won't get Message Q
    blocking as a result (since we will now have only 25% of the previous Q space).
    We are (by design) using uncontrolled tpacall. Yes, yes, I know...
    For the record, we are on Tuxedo 6.5 (patch 389).
    Thanks for your assistance. I'll let you know what happens when we reconfigure
    the Q's.
    Nigel
    Scott Orshan <[email protected]> wrote:
    I don't completely understand your configuration. MSSQ means
    multi-server, single-queue, yet it sounds like each of your servers has
    its own queue.
    I think we need to see more about your service configuration. Do you
    have the latest patches applied? You didn't sey what release you're
    running, but there could have been a load balancing problem at some point.
    Remember that Tuxedo cannot "see" remote queue lengths. For services
    with equal load factor, it round-robins among the available queues. If
    one of those adapter services takes longer, then its queue will build
    up. Make sure that you are not using uncontrolled tpacall(TPNOREPLY)
    calls, as that can easily flood the remote queues. You've got over 100
    queued messages. Does that mean that you have 100 tpcalls waiting for
    replies, or were 100 tpacalls done?
    What might help is if you did use MSSQ. Set RQADDR the same for all
    of
    the servers on a machine (so long as they offer the identical set of
    services). Then all requests will go to one queue, and be taken off as
    quickly as they can be processed by the services. If one process gets
    hung up, the rest will be able to continue processing.
    For further control, you might have to use Routing or service naming
    to
    better direct the service calls.
         Scott Orshan
    Nigel wrote:
    The attached file should be easier to read than the output in the originalmessage.
    "Nigel" <[email protected]> wrote:
    Hi,
    We have a performance situation where Tuxedo is favouring one MSSQ
    out
    of the
    8 available across 2 boxes.
    Our configuration is that we have 8 Tuxedo Servers each publishing4
    instances
    of a particular E2A adapter service (a total of 32 instances of a particular
    service).
    Each of the 8 Tuxedo Servers has its own MSSQ and there are 4 Tuxedo
    Servers on
    each of the physical boxes. ie. 2 physical boxes.
    When the aforementioned service is called it favours one particularTuxedo
    in
    a very odd manner.
    TMIB output shows the Q depths as (typically):
    Mon Sep 15 13:42:59 EST 2003
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 10
    TA_MSG_QNUM 0
    TA_MSG_QNUM 93
    Mon Sep 15 13:43:04 EST 2003
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 11
    TA_MSG_QNUM 0
    TA_MSG_QNUM 92
    Mon Sep 15 13:43:10 EST 2003
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 11
    TA_MSG_QNUM 0
    TA_MSG_QNUM 92
    Does anyone know what might cause Tuxedo to bias like like this?
    Significant ubb entries:
    $ tmunloadcf |grep -e LDBAL -e MODEL
    MODEL MP
    LDBAL Y
    $
    Master is HP-UX. Slaves running the E2A's and MSSQ are NT.
    Nigel
    Mon Sep 15 13:42:59 EST 2003
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 10
    TA_MSG_QNUM 0
    TA_MSG_QNUM 93
    Mon Sep 15 13:43:04 EST 2003
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 11
    TA_MSG_QNUM 0
    TA_MSG_QNUM 92
    Mon Sep 15 13:43:10 EST 2003
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 0
    TA_MSG_QNUM 11
    TA_MSG_QNUM 0
    TA_MSG_QNUM 92

  • Tuxedo load balancing

    I have set LDBAL to YES in my tuxconfig and have booted 10 servers.
    But still calls from my client is not getting evenly distributed and it almost hits the same server for 80% of the times.
    Any suggestions on how to have a proper load balancing among the servers?

    Hi,
    This is a common misunderstanding of how Tuxedo performs load balancing. Instead of using a simple round robin algorithm which would spread requests across all available servers, Tuxedo looks for the first server that is not busy. If all servers are busy, then Tuxedo places the request on the server's queue that has the least amount of work queued to it. The only way you will see all servers getting requests in your scenario is if you have more than 10 concurrent requests outstanding. Also Tuxedo always starts its scan for a free server with the same server and in the same order, thus the first server will take most of the requests on a lightly loaded system, the next taking fewer requests, and so on. Part of the reason for doing this is that you get better memory coherence, i.e., as long as the first server is available, it's likely to have its pages in memory and probably in cache. Round robin scheduling would force all servers to have their pages in memory and flush any memory caches pretty quickly.
    Hope that makes sense!
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • Hardware Load Balancing Tuxedo

    In a PeopleSoft scenario, can i use a hardware load balancer to scale out multiple PeopleSoft app servers on the JOLT port?
    In theory, i think i should be able to , but for some reason it does not work.
    Thanks
    Alok

    Hi Alok,
    At the moment, we don't certify load balancers with Tuxedo, although I'm not sure why you are encountering errors using a hardware load balancer. I know other customers are using them successfully. Which load balancer are you using and how do you have it configured?
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • How does Tuxedo 10.0 load balance across the BRIDGE?

    Is the load balancing round robin or does work done factored in?

    Yes and no.  In all honesty, see if this white paper helps answer your question:  http://www.oracle.com/technetwork/middleware/tuxedo/overview/ld-balc-in-oracle-tux-atmi-apps-1721269.pdf
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • Load balancing and Failover

    Hello,
    We are wondering how load-balancing and failover of tpcall() work with
    WTC:
    The scenario:
    We have one WLS Domain and two Tuxedo Domains. The Tuxedo Domains offer
    the same set of services.
    In the bdmconfig.xml, we specify connection_policy as 'ON_STARTUP' for
    both Remote Tuxedo Domains. We also Import (T_DM_IMPORT) the same
    Tuxedo Service from both Tuxedo Domains.
    Questions:
    1. Is there any load-balancing of the tpcall between the two Domains? If
    so, is it round-robin? If round-robin, what determines the order?
    2. If it is ONLY Failover, what determines the order of the tpcall? And,
    is the Failover automatic? Or do we need to code for retry on failure?
    3. ON_DEMAND vs ON_STARTUP: Does ON_DEMAND drop the connection to the
    remote domain upon tpterm? And does ON_STARTUP use a pool of
    TuxedoConnection objects?
    4. Are there any configuration parameters for
    'max_number-of_connections? What determines how many simultaneous
    connections can be made?
    Thanks,
    Suresh Mohan.

    Hi Suresh,
    The following are my answers to your questions.
    Suresh Mohan wrote:
    Hello,
    We are wondering how load-balancing and failover of tpcall() work with
    WTC:
    The scenario:
    We have one WLS Domain and two Tuxedo Domains. The Tuxedo Domains offer
    the same set of services.
    In the bdmconfig.xml, we specify connection_policy as 'ON_STARTUP' for
    both Remote Tuxedo Domains. We also Import (T_DM_IMPORT) the same
    Tuxedo Service from both Tuxedo Domains.
    Questions:
    1. Is there any load-balancing of the tpcall between the two Domains? If
    so, is it round-robin? If round-robin, what determines the order?Yes there is a load balancing between two remote Tuxedo TDomain Gateways.
    The algorithm is random, not RR. Over time this should give equal
    opportunities to both remote TDomain.
    >
    2. If it is ONLY Failover, what determines the order of the tpcall? And,
    is the Failover automatic? Or do we need to code for retry on failure?The load balancing is always there. The failover is automatic. When a
    connection to a remote TDomain encountered a problem (ie network) the remote
    domain will be put on retry open connection (in ON_STARTUP) and the load
    balancing will not select it until the connection re-established.
    However, the tpcall() that encountered the error will not be retried to send
    to different destination. It is up to the application to decide whether it
    want to resend. Any requests called after the error will not select the
    failed Remote TDomain.
    >
    3. ON_DEMAND vs ON_STARTUP: Does ON_DEMAND drop the connection to the
    remote domain upon tpterm? And does ON_STARTUP use a pool of
    TuxedoConnection objects?TPTERM() only terminate your application session to WTC. WTC still maintain
    a secured T-session to remote Tuxedo TDomain. WTC does not use a pool of
    TuxedoConnection Objects, the object stored in the JNDI refers to WTC.
    >
    4. Are there any configuration parameters for
    'max_number-of_connections? What determines how many simultaneous
    connections can be made?No. As described in #3, there is no need to use connection pool in WTC. WTC
    uses session and virtual circuit design concept as Tuxedo TDOMAIN, the
    logical pool is created/destroyed dynamically. That is the reason why you
    can have a lot of TPACALL() outstanding at the same time. (The limitation is
    the availability system resource.)
    >
    >
    Thanks,
    Suresh Mohan.Regards,
    Hong-Hsi :-)

  • Load balancing for CORBA servers not happening

    We have configured 10 instances of a corba server, 5 each in two separate server groups. In the ubbconfig file, I have set "LDBAL Y", expecting that the load will be spread equally among the 10 severs. What is happening is that, load is spread between two servers, one in each server_group. (The last one specified for each group) Other servers in each group got very few requests and few servers got 0 load.
    What do I need to do, in order to spread the load almost equally among the 10 servers, similar to what we get, when we use MSSQ, in non-corba tuxedo servers?
    This is a single domain single machine environment.
    James

    Hi James,
    As I believe the whitepaper Ed pointed to you probably explained, what you are likely seeing is normal behavior for load balancing. Assuming that you aren't dealing with issues associated with active objects and that requests to active objects are going to be sent to the server where the object is active, then you seeing normal behavior.
    Roughly speaking, in determining what server to give a request to, Tuxedo scans the list of available servers and places the request on the server with the least amount of work queued. If not work is queued for a server, it will place the request on that servers queue. Also, the scan of servers is always done in the same order. So unless your servers are quite busy, the first server will handle most of the requests. Only when that server is busy will Tuxedo go to the next server, and so on. So the only way the 5th server is going to get a request queued to it is if the previous 4 servers are busy.
    Note that unless you are using parallel objects (user controlled concurrency), Tuxedo will always send the request to a server in the same group as the server that created the object. So in your example, if the factory that created the object was in group 20, all requests to that object are going to go to a server in group 20.
    Regards,
    Todd Little
    BEA Tuxedo Chief Architect

  • Load balancing across remote systems

    Hi everyone,
    When a request is routed to a remote machine (assuming that the service is not
    available on the local machine) load balancing is based on the load factors (plus
    NETLOAD, if set) of requests previously sent to the remote systems from the local
    system. My question is: is the load accumulation ever reset? As I see it, a
    reset could probably happen in one or more of the following ways:
    1. A rolling time period that will cause earlier load values to be progressively
    discareded.
    2. The load accumulations are reset every time a system is booted.
    3. The load accumulations are reset whenever the tuxconfig is modified.
    4. The accumulations are reset when the tuxconfig file is removed and recreated
    (I guess this is obvious, assuming this is where the accumulations would be stored
    between boots).
    The question is prompted by the following scenario. Machines A, B and C have
    been configured to offer the same service, but the service has only been enabled
    on A and B. Machine D does not offer this service, and therefore requests from
    D will be balanced between A and B based on the accumulated load recorded on D.
    This situation has been in operation for a couple of months without rebooting
    (quite possible - after all, this is Tuxedo we are talking about!), and it has
    now been decided to activate the service on machine C (without rebooting). The
    big question is: Will all the requests be routed to C until such time as it catches
    up to the load processed by A and B?
    Thanks to anyone who can shed some light on this.
    Regards,
    Malcolm.

    Where are you looking for the load accumulation?
    "load done" with psr command?
    In my case, with Tux 6.5, these stats are only reset with a reboot.
    Christian
    "Malcolm Freeman" <[email protected]> wrote:
    >
    Thanks, Scott - I found confirmation that stats are reset every SANITYSCAN
    interval
    in some old 4.2.1 documentation.
    Regards,
    Malcolm.
    Scott Orshan <[email protected]> wrote:
    Malcolm,
    This was an issue a number of years ago, back in one of the early 4.x
    releases.
    But now the stats are reset, I believe every SANITYSCAN interval.It
    might even
    happen as soon as the new service comes into operation. I'm too lazy
    to look, but
    it's easy to test.
         Scott
    Malcolm Freeman wrote:
    Hi everyone,
    When a request is routed to a remote machine (assuming that the serviceis not
    available on the local machine) load balancing is based on the loadfactors (plus
    NETLOAD, if set) of requests previously sent to the remote systemsfrom the local
    system. My question is: is the load accumulation ever reset? As
    I
    see it, a
    reset could probably happen in one or more of the following ways:
    1. A rolling time period that will cause earlier load values to beprogressively
    discareded.
    2. The load accumulations are reset every time a system is booted.
    3. The load accumulations are reset whenever the tuxconfig is modified.
    4. The accumulations are reset when the tuxconfig file is removedand recreated
    (I guess this is obvious, assuming this is where the accumulationswould be stored
    between boots).
    The question is prompted by the following scenario. Machines A, Band C have
    been configured to offer the same service, but the service has onlybeen enabled
    on A and B. Machine D does not offer this service, and therefore
    requests
    from
    D will be balanced between A and B based on the accumulated load recordedon D.
    This situation has been in operation for a couple of months withoutrebooting
    (quite possible - after all, this is Tuxedo we are talking about!),and it has
    now been decided to activate the service on machine C (without rebooting).The
    big question is: Will all the requests be routed to C until such
    time
    as it catches
    up to the load processed by A and B?
    Thanks to anyone who can shed some light on this.
    Regards,
    Malcolm.

  • Load balancing across multiple machines

    I am looking for assistance in configuring Tuxedo to perform load balancing across
    multiple machines. I have successfully performed load balancing for a service
    across different servers hosted on one machine but not to another server that's
    hosted on a different machine.
    Any assistance in this matter is greatly appreciated.

    Hello, Christina.
    Load balancing with multiple machines is a little bit different than
    in the same machine. One of the important resource in this kind
    of application is network bandwidth, so tuxedo tries to keep the
    traffic among the machines as low as possible. So, it only
    balance the load (call services in other machine) in case all the
    services are busy in the machine where they are call.
    I mean, if you have workstation clients attached only to one
    machine, then tuxedo will call services in this machine untill
    all servers are busy.
    If you want load balancing, try to put one WSL in each machine,
    and the corresponding configuration in your WSC ( with the | to
    make tuxedo randomly choose one or the other) or spread your
    native clients among all the machines.
    And so, be carefull with the routing!
    Ramón Gordillo
    "Christina" <[email protected]> wrote:
    >
    I am looking for assistance in configuring Tuxedo to perform load balancing
    across
    multiple machines. I have successfully performed load balancing for a
    service
    across different servers hosted on one machine but not to another server
    that's
    hosted on a different machine.
    Any assistance in this matter is greatly appreciated.

  • Load Balancing across Domains

    We have been carrying out some tests with the WebLogic Tuxedo Connector (WTC),
    and have observed some strange behaviour. Can anyone out there explain it?
    We are using the 8.1 version of both Tux and WLS/WTC, and have set up a Tux domain
    consisting of a master and slave machine (actually, both are set up on a single
    Windows 2000 system using PMID). Each machine has a local domain (TDOM1 and TDOM2),
    each going to a separate instance of a WebLogic Server (WDOM1 and WDOM2). The
    domain config on the Tux side is pretty standard, and the only service listed
    is as follows (TOLOWER is provided by each of the WLS instances via WTC):
    *DM_REMOTE_SERVICES
    TOLOWER RDOM="WDOM1"
    TOLOWER RDOM="WDOM2"
    We have modified the client calling TOLOWER to use a tpacall with TPNOREPLY (so
    that we can fire off 1000 calls one after the other). Load Balancing is turned
    on, and we have a NETLOAD value of 0. When we run the client on the slave machine
    it load balances beautifully - 500 each through TDOM1 and TDOM2; but when we run
    the same client on the master machine it sends the first request via the slave
    (TDOM2) and the other 999 through the master (TDOM1). If we run the client on
    the slave again immediately afterwards, it load balances perfectly as before,
    so there does not seem to be any bottleneck.
    One thing we noticed when doing a psr is that the count for the number of messages
    is correct for each GWTDOMAIN server, but the load is always zero irrespective
    of how many messages have been processed (we have not specified any load factors
    - the *SERVICES section is empty).
    Any ideas?
    Thanks for any feedback,
    Malcolm.

    We're looking into another load balancing issue that might be related to
    this. I'll pass this message on to the person who is looking into this.
    Malcolm Freeman wrote:
    We have been carrying out some tests with the WebLogic Tuxedo Connector (WTC),
    and have observed some strange behaviour. Can anyone out there explain it?
    We are using the 8.1 version of both Tux and WLS/WTC, and have set up a Tux domain
    consisting of a master and slave machine (actually, both are set up on a single
    Windows 2000 system using PMID). Each machine has a local domain (TDOM1 and TDOM2),
    each going to a separate instance of a WebLogic Server (WDOM1 and WDOM2). The
    domain config on the Tux side is pretty standard, and the only service listed
    is as follows (TOLOWER is provided by each of the WLS instances via WTC):
    *DM_REMOTE_SERVICES
    TOLOWER RDOM="WDOM1"
    TOLOWER RDOM="WDOM2"
    We have modified the client calling TOLOWER to use a tpacall with TPNOREPLY (so
    that we can fire off 1000 calls one after the other). Load Balancing is turned
    on, and we have a NETLOAD value of 0. When we run the client on the slave machine
    it load balances beautifully - 500 each through TDOM1 and TDOM2; but when we run
    the same client on the master machine it sends the first request via the slave
    (TDOM2) and the other 999 through the master (TDOM1). If we run the client on
    the slave again immediately afterwards, it load balances perfectly as before,
    so there does not seem to be any bottleneck.
    One thing we noticed when doing a psr is that the count for the number of messages
    is correct for each GWTDOMAIN server, but the load is always zero irrespective
    of how many messages have been processed (we have not specified any load factors
    - the *SERVICES section is empty).
    Any ideas?
    Thanks for any feedback,
    Malcolm.

  • Load balancing Application Server

    Hi
    I am new to peoplesoft dba
    It would be great if somebody could point me to the steps required for setting up loadbalancing for Peoplesoft application server (not web server)
    In particular i wanted to know where to look for information on 'directing certain loads' to particular server.
    Thanks a lot
    Cyril

    Are you talking about load balancing from Webserver to multiple appserver in 4tier mode ? See here the configuration.properties conf :
    http://download.oracle.com/docs/cd/E13292_01/pt849pbr0/eng/psbooks/tsvt/book.htm?File=tsvt/htm/tsvt14.htm#H4003
    Or are you talking about load balancing for 3tier mode ? See TUXEDO Connect String* in the profile (configuration manager) :
    http://download.oracle.com/docs/cd/E13292_01/pt849pbr0/eng/psbooks/tsvt/book.htm?File=tsvt/htm/tsvt11.htm#H4032
    Nicolas.

  • JOLT JSL Load Balancing ?

    Hello
    Question: If I have hundreds of JOLT clients accessing Tux services behind a
    firewall, can/should I load balance across multiple JRLYs? Has anyone done
    this with a Cisco, F5 or other load balancer? Or have you instead just
    tinkered with the "appAddress" on the JOLT client.
    Here's why I ask:
    From the JOLT 1.2 documentation...
    - Under normal conditions, only one JRLY can communicate with one JRAD.
    - A JRAD can only point to one JSL.
    So given the constraints above, it would look something like...
    JRLYx ------||-------JRAD-------------JSL/JSH (Node X)
    FireW
    JRLYy ------||-------JRAD-------------JSL/JSH (Node Y)
    If all JOLT requests to go one JRLY, they will pound the JSL/JSH on one
    node. So load balancing would be preferred and I'd like to do something
    smarter than defining half the clients with appAddress=JRLYx and the other
    half with appAddress=JRLYy.
    Thanks for taking the time to read this. I would imagine I'm not the first
    to run into this.
    -Jon

    Jolt, by definition, requires a Tuxedo setup. By specifying multiple
              addresses in the appaddrlist, the Jolt connection pool will distribute
              the connections across the addresses supplied. So yes, the appaddrlist
              is only used to establish the physical connection. The JoltPoolManager
              will hand out the connections in such a way as to distribute the load
              across the existing connections.
              Hope this helps,
              Robert
              Laurent Nel wrote:
              > Robert Patrick <[email protected]> wrote:
              > >The Jolt connection pool can be configured to distribute
              > >its connections
              > >across multiple JSL on multiple machines (by specifying
              > >more than one
              > >address in the appaddrlist argument in the configuration
              > >of the pool).
              > >Obviously, once a request is sent from WLS to a specific
              > >JSH process,
              > >Tuxedo load-balancing is used to determine which Tuxedo
              > >server will
              > >process the request.
              >
              > So, does this requires a Tuxedo setup ?
              > I would like to know if it is possible to do load-balancing using
              > only the appaddrlist of the Jolt pool ?
              > My understanding of this list is that it is used only to determine
              > to which tuxedo server the jolt client is going to open a connection.
              > The online doc says that the server is choosen 'randomly' (I guess
              > that it means in a unpredictable way).
              >
              > Laurent
              

Maybe you are looking for