ICM Web Dispatcher
ICM Web Dispatcher
Unit 1: Introduction
Introduction
ICM and SAP Web Dispatcher
Multithreaded
– mpi/buffer_size: defines the size of each MPI buffer
/ block
– mpi/total_size_MB: defines the size of the MPI
memory area
– mpi/max_pipes: defines how many pipes (event-
flags, semaphores) are available to the ICM
If no work process is available, the ICM stores the request in the MPI memory
area.
ICM
waits ABAP work
Client
process
A single request cannot use the entire MPI memory (protection mechanism).
ICM
waits waits ABAP work
Client
process
[email protected]
© 2017 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company.
The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its distributors contain proprietary software components
of other software vendors. National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated
companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are
set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release
any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future developments, products,
and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The
information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various
risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements,
and they should not be relied upon in making purchasing decisions.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company)
in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies.
See http://global.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.
Week 3: ICM and SAP Web Dispatcher Services
Unit 2: The Web Admin Page
The Web Admin Page
Accessing the Web Administration page
“/sap/admin” for the ICM, “/sap/wdisp/admin” for the SAP Web Dispatcher
[email protected]
© 2017 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company.
The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its distributors contain proprietary software components
of other software vendors. National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated
companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are
set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release
any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future developments, products,
and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The
information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various
risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements,
and they should not be relied upon in making purchasing decisions.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company)
in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies.
See http://global.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.
Week 3: ICM and SAP Web Dispatcher Services
Unit 3: Tuning the ICM/SAP Web Dispatcher
for High Load
Tuning the ICM/SAP Web Dispatcher for High Load
Parameters (1)
Instance 00
wdisp/HTTP(S)/
Clients Web Disp. max_
pooled_
con
Instance 01
Default values:
– icm/max_conn = 2000 for ICM / chosen at
installation time for the SAP Web Dispatcher (2000
is the default suggestion)
– icm/req_queue_len = 6000
– icm/min_threads = 10
– icm/max_threads = 500
– mpi/total_size_MB = 6% of icm/max_conn + 50;
maximum of 2000 (megabytes)
– mpi/max_pipes = 2x icm/max_conn
– mpi/buffer_size = 65536 (bytes; 64KB)
– wdisp/HTTP/max_pooled_con = icm/max_conn
– wdisp/HTTPS/max_pooled_con = icm/max_conn
Tuning for high load: change “icm/max_conn” and
“icm/min_threads” only
*** WARNING => IcmReadFromConn(id=3/118): temporarily out of MPI buffers -> roll out
[icxxthrio.c 3223]
– A single connection sending a large request or too many connections in parallel?
– Free dialog work processes?
*** WARNING => IcmAcceptClient: server overload: conn: 500 - accept delayed [icxxman.c 5290]
– Increase “icm/max_conn”.
[Thr 139780162316160] *** ERROR => IcmAcceptClient: NiAccept from <client IP address> failed
with NI error -8 (NIEINVAL) [icxxman.c 5386]
[Thr 139780162316160] *** ERROR => NiIAccept: SiAccept failed for hdl 33/sock 11
(SI_EMFILE/24; I4; ST; own high 499; max hds 2000) [nixxi.cpp 3607]
– Operating system limit “open files” / “nofiles” / “descriptors” has been reached.
SAP Note 2007212: Tuning SAP Web Dispatcher and ICM for high load
[email protected]
© 2017 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company.
The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its distributors contain proprietary software components
of other software vendors. National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated
companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are
set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release
any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future developments, products,
and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The
information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various
risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements,
and they should not be relied upon in making purchasing decisions.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company)
in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies.
See http://global.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.
Week 3: ICM and SAP Web Dispatcher Services
Unit 4: SAP Web Dispatcher for Multiple Systems
SAP Web Dispatcher for Multiple Systems
Configuring the systems
Parameter “wdisp/system_<index>”
– SID = <backend System ID>
– MSHOST = <hostname of Message Server>
– MSPORT = <HTTP port of Message Server>
or
– MSSPORT = <HTTPS port of Message Server>
– <argument(s) for selection criteria>
– Parameter “wdisp/system_conflict_resolution”
– Web Dispatcher for Multiple Systems WIKI
SRCURL
– wdisp/system_0 = SID=ECC, …, SRCURL=/sap;/nwbc
– wdisp/system_1 = SID=EPP, …, SRCURL=/
SAP Web
Dispatcher
SRCSRV
– icm/server_port_0 = …, PORT=80, …
– icm/server_port_1 = …, PORT=8080, …
Using the port:
– wdisp/system_0 = SID=ECC, …, SRCSRV=*:8080
– wdisp/system_1 = SID=EPP, …, SRCSRV=*:80
SAP Web
Dispatcher
SRCSRV
– icm/server_port_0 = …, PORT=80, …
– icm/server_port_1 = …, PORT=8080, …
Using the (physical!) host:
– wdisp/system_0 = SID=ECC, …, SRCSRV=ecc.company.com:*
– wdisp/system_1 = SID=EPP, …, SRCSRV=ep.company.com:*
SAP Web
Dispatcher
SRCSRV
– icm/server_port_0 = …, PORT=80, …
– icm/server_port_1 = …, PORT=8080, …
Using both:
– wdisp/system_0 = SID=ECC, …, SRCSRV=ecc.company.com:8080
– wdisp/system_1 = SID=EPP, …, SRCSRV=ep.company.com:80
User accesses
through host “ecc...” System
and port 80 ECC
SAP Web
Dispatcher X
System
EPP
SRCVHOST
– Works in the same way as SRCSRV
– Uses the HTTP header “host”
– No DNS lookup performed (DNS alias can be used)
– wdisp/system_0 = SID=ECC, …,
SRCVHOST=ecc.mycompany.com:8080
– wdisp/system_1 = SID=ECC, …, SRCVHOST=ep.mycompany.com:80
User accesses
through DNS alias “ecc...” System
and port 8080 ECC
SAP Web
Dispatcher
System
EPP
[email protected]
© 2017 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company.
The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its distributors contain proprietary software components
of other software vendors. National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated
companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are
set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release
any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future developments, products,
and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The
information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various
risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements,
and they should not be relied upon in making purchasing decisions.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company)
in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies.
See http://global.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.
Week 3: ICM and SAP Web Dispatcher Services
Unit 5: Load Balancing with the SAP Web Dispatcher
Load Balancing with the SAP Web Dispatcher
Introduction: stateless vs. stateful
Server
Client
Each request is independent of previous requests. Response 1
Server
Client
Response 1
Data for session 1
Session 1 Request 2
Response 2
wdisp/load_
Clients Web Disp. balancing_
strategy = ?
Instance 01
simple_weighted_round_robin
A server with “k” capacity receives “k” requests before
the next server takes over.
Capacity = number of dialog work processes
Instance 00
DIA = 40
Instance 01
DIA = 20
Instance 00
DIA = 40
Request3 0 -> 400 800
Calculated load factor = 400
Request4 400 -> 800 800
Instance 01
DIA = 20
Calculated load factor = 800 Response2 800 800 -> 0
adaptive
Works in the same way as the “weighted_round_robin” algorithm.
Difference: “load factor” dynamically calculated based on the “ping” response time.
Load balance values are reset at every two minutes (“wdisp/lb/auto_reset=1” by default; “wdisp/auto_refresh
= 120” by default).
Number of logged on users, memory, and CPU power are not considered (directly) by any of the load
balance algorithms.
Number of HTTP sessions is not a good indicator of the load balance distribution.
[email protected]
© 2017 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate
company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP SE or its
affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE or SAP affiliate company products and
services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as
constituting an additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop
or release any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future
developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time
for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-
looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place
undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.
srv2.external.com
[email protected]
© 2017 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate
company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP SE or its
affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE or SAP affiliate company products and
services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as
constituting an additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop
or release any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future
developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time
for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-
looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place
undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.