technical brief in HP Overview HP is a Web-based software application designed to install, configure, manage and troubleshoot network-connected devices. It includes a Web service, which allows multiple users to access it simultaneously through a standard Web browser. However, HP Web Jetadmin is also an application, and like any application, the more users that access it simultaneously, the longer it can take to perform some processor intensive tasks. Performance HP is much more processor (CPU) intensive than it is memory (RAM) intensive. Processor usage depends upon the type of activity being performed in HP Web Jetadmin, how many devices are involved in the activity, and how many users are attempting to perform such actions simultaneously. HP will consume larger portions of CPU capacity during the following types of events: can be witnessed after opening a device in HP to view its Status page, then selecting the entire list once again, HP will typically display the list immediately rather than retrieving data from files and counting the devices along the bottom of the screen. HP Web Jetadmin is also very particular in what it queries over the network when viewing individual devices or lists of devices. Rather than querying all information that must be displayed, it only queries particular fields that are most likely to have changed since the last query. However, there are certain fields, such as status, when a Status view or the Status column is enabled, that HP must gather recent information from the network every time the view is accessed. When this happens, a spike in CPU utilization will occur. When several users request status simultaneously, especially on large lists of devices, performance tends to slow because of the heavy CPU utilization. There is no limit to the number of simultaneous users who can access a single installation of. For example, it is not uncommon for a Helpdesk to use for quickly determining the status of a printer upon which the helpdesk agent just received a call. Tests have indicated that performance is not significantly hampered when as many as twenty or more users access the Status page of different devices simultaneously. In fact, one user performing any activity in HP Web Jetadmin isn t likely to hamper performance. However, as multiple users simultaneously access HP Web Jetadmin and perform processor intensive functions as mentioned previously, HP will perform slower in its activities. Since the CPU speed directly corresponds to the performance of HP, the more processor that can be dedicated to run HP Web Jetadmin, the better the performance will be. Figure 1 displays an example of CPU utilization witnessed during testing on the absolute bare minimum hardware that is recommended to run HP Web Jetadmin. It can be concluded that many users simultaneously accessing HP and performing processor intensive functions on large HP CPU Utilization Gathering large amounts of data over the network Retrieving large amounts of data from files to display on screen HP will attempt to cache as much information as possible to reduce the number of situations where it must perform the above types of actions. One example CPU usage 120 100 80 60 40 20 0 Pentium III 800 MHz (underpowered) 1 2 3 4 5 6 7 8 9 10 # of simultaneous users Devices 94 557 1071 Figure 1
quantities of devices will cause heavy CPU utilization. Although it may not occur very frequently, Administrators should plan for the possibility that multiple users may access HP Web Jetadmin at precisely the same time and perform processor intensive functions. Figure 1 depicts results of HP Web Jetadmin running on a fairly underpowered machine, 800 MHz. Results would more than likely improve significantly on a more high powered machine. Hardware recommendations for running HP include at bare minimum an 800 MHz machine with 256 MB of RAM. For installations whereby multiple users will access HP simultaneously, a much more powerful processor should be used, as much as can be spared. Especially if HP Web Jetadmin is going to perform mission critical functions, it makes sense to provide as much processor as possible. It is also recommended to install HP on a machine that is not running a large amount of additional applications. A server running as a domain controller or running additional applications or services would not be a wise choice for running HP. Rather, a dedicated machine would be ideal. In fact, HP does NOT require a server at all. A Microsoft Windows NT/2000/XP workstation would more than suffice for running HP. There are no server services that are required by HP. HP installs its own Apache Web server upon which to run. If performance continues to be an issue, even with sufficient hardware dedicated to the HP installation, multiple HP Web Jetadmin installations should be considered. For example, Helpdesk personnel, who just want to use HP to troubleshoot printers, may want to install a copy on each individual s machine to maximize performance while quickly viewing the status of printers. To an individual on the Helpdesk, it is most important to be able to quickly view pertinent information regarding a device that a customer is describing on the phone. Client Machines Client machines are defined as those that are using a standard Web browser to browse HP. Browsers that are supported to view HP include: Microsoft Internet Explorer Netscape Navigator and Communicator Microsoft Internet Explorer has performed more efficiently in terms of speed and reliability in HP tests. Use the latest available version of the Microsft Java Virtual Machine (jvm) component or the SUN Java Runtime Engine (jre) for best performance. Number of Printers The number of printers that HP Web Jetadmin can discover and manage is unlimited. However, as the number of printers in the cache increases, more resources are required on the machine to perform actions upon those printers, such as generating the list of all devices. Performing status queries on the entire list of printers stored in cache will take considerably longer amounts of time to complete Action Gather status for Status View Gather page counts for Page Count View Open device Status Page Device Diagnostics Page IP Range discovery Asset View Figure 2 than smaller lists. Fortunately, the cache can be broken down into smaller more manageable parts called groups to help alleviate degradation in performance for such items as status. It was clearly seen in the CPU utilization table on the previous page that the number of devices upon which functions are performed can dramatically increase CPU utilization. Network Traffic Many administrators are very cautious as to what types of applications can be installed on machines due to high quantities of network bandwidth they may consume during operations. Administrators typically raise a red flag regarding applications that perform network discoveries, mainly because of the perception of a high quantity of SNMP packets traversing the routers. HP is very friendly in regards to placing SNMP packets on the network during discoveries and general activities. Typical network bandwidth consumed during discoveries and other activities is displayed in Figure 2. Naturally, this data will vary depending upon the discovery methods enabled, network topology, etc. The following example displays typical network traffic during a range or specified address discovery: Initial request containing 13 objects to determine if a response is a HP Network Traffic SNMP Traffic 4 packets per device 1 packet per device 14 packets every 6 seconds approx. 200 packets 7 packets per device 11 packets per device
printer: SNMP GET REQ 280 bytes SNMP GET RESP 670 bytes Approximately six additional requests to gather pertinent information to populate the device cache for each device. Information such as Jetdirect model, Jetdirect firmware, IPX Name, etc is gathered during this time. SNMP GET REQ 86 bytes SNMP GET RESP 110 bytes SNMP GET REQ 80 bytes SNMP GET RESP 154 bytes SNMP GET REQ 87 bytes SNMP GET RESP 93 bytes SNMP GET REQ 87 bytes SNMP GET RESP 89 bytes SNMP GET REQ 83 bytes SNMP GET RESP 154 bytes SNMP GET REQ 87 bytes SNMP GET RESP 101 bytes Using this data, it can be concluded that the total bit count per device is somewhere in the range of 17 Kbits per device. This assumes no duplicate packets are required due to late responses. Also, different models of printers may contain more or less data in various packets. IP Range and Specified Address are two of the most common discovery Methods used by customers of HP. Other discovery methods may contain more packets initially to find devices, but ultimately all discovery methods boil down to two items: determine if a device is a printer populate cache with a small amount of information about the device Some administrators desire the ability to have one centralized database for processing alerts or exporting asset information regularly. While this concept holds merit, it does not mean that each and every installation of HP on the network must perform full discoveries of all printers on the network. Discoveries can be tailored so that they only span a subset of all devices. Each subsequent installation of HP Web Jetadmin can assume responsibility for a subset of devices, or groups (discussed later). With such a strategy, there really is not an increase in overall network traffic even though many installations of HP Web Jetadmin exist on the network. As long as the installations are not duplicating efforts in discovering the same devices, the network traffic is essentially the same as a single installation discovering all devices. SNMP Timeouts The speed upon which the devices can return the data is also very relevant to performance. HP Web Jetadmin will wait a pre-configured amount of time for a response before it starts retrying. Subsequent retries may wait significantly longer for responses. While this can improve accuracy, it can slow performance considerably. SNMP timeout settings can be found under Management Settings, Network Settings, SNMP under the Navigation tree in HP (see Figure 3). The default primary SNMP timeout value is set to 400ms, with four additional retries beyond the initial query. The same UDP port is used for all queries, and the port remains open the entire time for responses. Therefore, under default settings, HP will wait up to 2 s for a response to the first SNMP query when populating cache. These timeout settings are applied when performing tasks such as gathering additional printer information during discovery, viewing the status page of a device, or viewing the status view and page count view. The primary SNMP timeout value should be set short enough to receive most responses in time, but not so long that list building becomes slow on large networks with many devices. Usage Recommendations There are many recommendations on usage of HP that can directly improve performance. In particular, selected discoveries, column selections, frequency of status queries, polling for alerts, group size, etc. can all adversely affect performance if implemented poorly. will query for more information on an as needed basis, such as when a different view is selected or a device is opened to the Status page. Figure 3
Discovery Discovery is the process of searching the network for devices, storing them in a cache, and displaying the results in a list. HP offers a multitude of discovery options from which to choose to ensure an extremely high accuracy rate (see Figure 1). How often a discovery occurs, and which discovery options are selected, directly affect HP Web Jetadmin performance. Discovery accuracy is important to ensure that HP is displaying all networked printers in the list, but network bandwidth does not necessarily have to be compromised in order to maintain accuracy. HP Web Jetadmim is capable of using either of two general tactics to discover devices on the network: Active - send a query (broadcast or directed) to the device and listen for responses. Passive - monitor the network for signals sent out by devices to indicate their presence on the network Active discoveries tend to utilize far more network bandwidth than passive techniques. It is not necessary to run an active discovery each and every day to ensure accuracy. It is difficult to make discovery usage recommendations since every environment is different. However, there are some guidelines that can be followed when deciding which discovery techniques to use: Use the discovery scheduler feature to perform discoveries during time intervals that will not conflict with peak network traffic hours. Broadcast discovery techniques, such as IP Broadcast and IPX Broadcast, will initially send a very minimal number of packets. However, spikes can occur in network traffic when all devices respond simultaneously. IP Range will send SNMP packets to every IP address specified in the range(s), regardless of the type of device, and whether or not the IP address is in use. Use caution when choosing ranges. Always tailor ranges to address patterns that actually exist on the network. Ranged discoveries can be slow if they are configured across large numbers of addresses. For example, if an administrator has printers at 10.1.1.1 and 20.1.1.1, and sets a range discovery to occur between 10.1.1.1-20.1.1.1, the administrator can expect quite a large amount of time to elapse before discovering both printers. The administrator has just instructed HP to send 160 million SNMP GET REQ packets on the network, many of which will be retried several times due to no response at the address. Specified Addresses is a more static type of discovery method, meaning it finds devices of which administrators are already aware. Other discovery techniques are more dynamic in nature, meaning they will help in discovering devices of which administrators are unaware. Activating Listen for New Devices will minimize the number of full scale discoveries that need to occur in order to maintain an accurate list of devices. This technique can take an accurate list of devices and maintain its accuracy by just adding new devices as they appear on the network. Recommendation: a combination of active discoveries infrequently (perhaps once a week) combined with constant passive discoveries (Listen for New Devices) will usually provide a very accurate list of printers without compromising performance. Use the information contained in the Discovery Results folder to determine which discovery methods are most effective, and disable those that are not as effective. This can save critical network bandwidth, especially if the devices discovered through the ineffective techniques are being discovered through other discovery techniques as well. If the number of printers is already known and it is desired for HP Web Jetadmin to just discover those devices, use the Specified Address discovery method to minimize network traffic and instruct HP Web Jetadmin to just discover those devices contained in the hosts.txt file. Customizing Columns HP contains a large number of column categories from which to choose to display printer information (see Figure 4). For example, if desired, a custom view can be created that contains additional columns for status, page count, HP Jetdirect firmware revision, etc. Caution should be exercised when adding additional columns, because each additional column causes HP Jetadmin to query every printer in the list for information to add to that column. In addition, HP Web Jetadmin contains several areas where status queries can be directed at printers to display the current state of the device, including a column. Caution should be exercised when enabling status in HP, especially when enabled as a column for a large list of devices. If status is enabled for the list of all devices, HP, will send approximately four packets to each and every printer in the list. Compound those packets with the number of responses and the number of retries for slower responding
are in turn being constantly sent to gather more information from these devices. printers, and suddenly the list of devices takes much longer than desired to display results. Once a view is enabled, such as Status view, every time HP is instructed to display the list, the status will be queried on the network for every printer in the list. CPU utilization will increase during this time. Figure 4 Recommendation: Only enable status queries when absolutely required. Taking a momentary snapshot of printer status is only a minimal hit in performance. However, always enabling status for the list of all devices causes delays each and every time it is desired to view the entire list. This same warning applies to groups of printers as well. Multiple users simultaneously requesting status on large lists of devices will severely hamper performance. potentially using a fair amount of resources on the HP machine. For example, if polling for alerts is scheduled to occur very frequently, status queries are going to be constantly sent to printers. While traps can be more efficient, if certain events are enabled for traps that are fairly common events, such as paper tray out or toner low, traps for these events are constantly being sent to HP, and status queries Recommendation: While alerts are a very popular and powerful feature, try to minimize setting alerts on printers that only support polling. Also, set the Time to Wait for Duplicate Alerts setting to a fairly high number, e.g. 1 day, for some of the more commonly occurring events such as toner low, or don t enable those events at all if not absolutely necessary. Groups The larger the list of all devices in HP, the more taxing it will be on the processor to perform actions on those devices, even to just generate the list of all devices. Groups of devices can be created in HP that contain logical subsets of the main list (see Figure 6). Working with smaller lists of devices will minimize wait times for actions to be performed on those lists. Alerts Alerts are a very powerful and frequently used feature of HP Web Jetadmin that provide proactive notification via e-mail of critical or warning events that occur on printers. However, HP performance can be affected if many alerts are enabled for many devices. Alerts are either processed by traps or scheduled polling, with both Figure 5
Recommendation: Break the list of all devices in HP into smaller groups if the list exceeds 1000 printers. Summary Optimizing HP can improve performance, ensure maximum efficiency, and reduce wait times for certain tasks. Proper implementation planning is the cornerstone to improved performance in HP. Following recommendation for usage of HP, including areas such as discovery, views, alerts, and groups, can greatly improve performance as well. Figure 6 Copyright May, 2004 Microsoft, Windows, and Windows NT/2000/XP are registered trademarks of Microsoft Corporation in the USA, and other countries. All other brand and product names are trademarks or registered trademarks of their respective companies. The information contained in this document is subject to change without notice. HP makes no warranty of any kind with respect to this information. HP specifically disclaims the implied warranty of merchantability and fitness for a particular purpose. HP shall not be liable for any direct, indirect, incidental, consequential, or other damage alleged in conjunction with the furnishing or use of this information.