ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzall_5.4.0.1/rzalladvqos15.htm

218 lines
6.7 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 4.0//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Inbound performance limits</title>
<meta name="Copyright" content="Copyright (c) 2004 by IBM Corporation">
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!--
----------------------------------------------------------------------------
START_DESCRIPTION
Page Function: Inbound performance limits: connection request rate and burst limit
Stored Values:
[myConnectionRate](parent.hidden.clientInfo[clientNum][4])[positive digit above 0]
[myBurstLimit] (parent.hidden.clientInfo[clientNum][6])[positive digit above 0]
Next and Back:
[Next]: rzalladvqos19.htm
[Back]: rzalladvqos14.htm
END_DESCRIPTION
----------------------------------------------------------------------------
-->
<LINK rel="stylesheet" type="text/css" href="../rzahg/ic.css">
<script language = "Javascript" src = "../rzahg/iccommon.js"></script>
<script language="Javascript" type="text/javascript">
var myBurstLimit="";
var myConnectionRate="";
var error3 = "You must enter a valid rate."
var error5 = "You must enter a valid limit."
var error2 = "You must enter a positive integer."
//START NON-TRANSLATABLE
clientNum = parent.hidden.retClientNumber()
function isPosInteger(myInteger) { //checking for positive integer
myInteger = myInteger.toString();
for ( var i=0; i<myInteger.length; i++ ) {
var onechar = myInteger.charAt(i)
if ( onechar < "0" || onechar > "9" ) {
return false;
}
}
return true;
}
function checkRate(){
//locating for duplicate client names
clientLength = parent.hidden.retClientLength();
myConnectionRate = document.rates.connectionRate.value
myInteger = document.rates.connectionRate.value
for ( var i=0; i<clientLength; i++ ) {
scanApp = parent.hidden.clientInfo[i][4];
if ( document.rates.connectionRate.value == null || document.rates.connectionRate.value == '' ) {//checking for a non-blank connection rate
alert(error3) //no rate
document.rates.connectionRate.focus()
return false;
}
positive = isPosInteger(myInteger)
if ( !positive ) {
alert(error2)
document.rates.connectionRate.focus()
return false;
}
parent.hidden.clientInfo[clientNum][4] = myConnectionRate //storing rate
return true;
}
}
function checkLimit(){
//locating for duplicate client names
clientLength = parent.hidden.retClientLength();
myBurstLimit = document.rates.burstLimit.value;
myInteger = document.rates.burstLimit.value;
for ( var i=0; i<clientLength; i++ ) {
scanApp = parent.hidden.clientInfo[i][6];
if ( document.rates.burstLimit.value == null || document.rates.burstLimit.value == '' ) {//checking for a non-blank connection rate
alert(error5) //no rate
document.rates.burstLimit.focus()
return false;
}
positive = isPosInteger(myInteger)
if ( !positive ) {
alert(error2)
document.rates.burstLimit.focus()
return false;
}
parent.hidden.clientInfo[clientNum][6] = myBurstLimit
return true;
}
}
function onNext(){
if (checkRate() && checkLimit()){
window.location = "rzalladvqos19.htm"; //sending user to next panel
}
}
function onBack() {
//if (parent.hidden.hasInboundCustom) {
window.location = "rzalladvqos14.htm";
//}
//else {
//window.location = "rzalladvqos20.htm";
//alert ("gotcha")
//}
}
//end function onBack
//Obtain name of HTML file in parent frame.
var parentDir = parent.window.location.href.substring(0,location.href.lastIndexOf('/')+1);
var parentUrl = parent.window.location.href.substring(parentDir.length,parent.window.location.href.length+1);
if (parentUrl.indexOf("#") >= 0) { parentUrl = parentUrl.substring(0,parentUrl.indexOf("#"));}
function fillRate() {
//Is the hidden frame already loaded with the correct html?
if (parentUrl != "rzalladvqoswelcome.htm") {
window.location = "rzalladvqoswelcome.htm"; //load advisor frameset
return;
} else {
//Obtain name of HTML file in hidden frame.
var hiddenDir = parent.hidden.window.location.href.substring(0,location.href.lastIndexOf('/')+1);
var hiddenUrl = parent.hidden.window.location.href.substring(hiddenDir.length,parent.hidden.window.location.href.length+1);
if (hiddenUrl.indexOf("#") >= 0) { hiddenUrl = hiddenUrl.substring(0,hiddenUrl.indexOf("#"));}
if (hiddenUrl != "rzalladvqoshidden.htm") {
//Correct HTML not loaded, load it
parent.hidden.window.location = "rzalladvqoshidden.htm";
} else { //already loaded
fillRate2();
}
}
}
function fillRate2() {
prevRate = parent.hidden.clientInfo[clientNum][4]
//restoring rate if it exists
if ( prevRate != '' ) {
document.rates.connectionRate.value = prevRate
}
}
function fillLimit() {
prevLimit = parent.hidden.clientInfo[clientNum][6] //restoring limit if it exists
if (prevLimit != '' ) {
document.rates.burstLimit.value = prevLimit
}
}
//END NON-TRANSLATABLE
</script>
</head>
<BODY onload="fillRate();fillLimit()">
<h2>Quality of service: Inbound Performance limits</h2>
<p>Inbound performance limits restrict the number of accepted connection requests to your server by placing limits using a class of service. One section of the class of service requires that you specify the average connection rate and burst limit for inbound traffic. Start to think about the restrictions you will set, and enter your best guess below. If you are unsure of what <a href="../rzak8/rzak8inboundlimits.htm" TARGET="_blank">performance limits</a> to apply, use the QoS monitor in iSeries<SUP><FONT SIZE="-1">TM</FONT></SUP> Navigator to experiment. Use the following example to <a href="../rzak8/rzak8monitor_policy.htm" target="_blank">monitor all your traffic</a>. You can vary your policy configuration, based on these results.</p>
<p>What is the average connection request rate and request burst limit you want to allow to your server?</p>
<form name="rates">
<table cellspacing="2" cellpadding="2">
<tr>
<td><strong><label for="connectionRate1">Average connection request rate:</label></strong></td>
<td><input type="Text" name="connectionRate" id="connectionRate1" size="6">&nbsp;per second</td>
</tr>
<tr>
<td><strong><label for="burstLimit1">Request burst limit:</label></strong></td>
<td><input type="Text" name="burstLimit" id="burstLimit1" size="6">&nbsp;requests</td>
</tr>
</table>
</p>
<center><input name=submit type="button" value="&lt;&lt;&nbsp;Back&nbsp" onClick="onBack()">
<input name=submit type="button" value="&nbsp;Next&nbsp&gt;&gt;" onClick="onNext()">
</center>
</form>
</BODY>
</html>