1、Tuning NetworksTuning NetworksThis chapter describes different connection models and introduces networking issues that affect tuning.This chapter contains the following sections: Understanding Connection Models Detecting Network Problems Solving Network ProblemsUnderstanding Connection ModelsThe tec
2、hniques used to determine the source of problems vary depending on the configuration. You can have a shared server configuration or a dedicated server configuration. If you have a shared server configuration, then LSNRCTL services lists dispatchers. If you have a dedicated server configuration, then
3、 LSNRCTL services lists dedicated servers.It is possible to connect to dedicated server with a database configured for shared servers by placing the parameter (SERVER = DEDICATED) in the connect descriptor.Shared Server ConfigurationThis section discusses the setups for the shared server configurati
4、on.Registering the DispatchersThe LSNRCTL control utilitys services statement lists every dispatcher registered with it. This list includes the dispatchers process ID. You can check the alert log to confirm that the dispatchers have been started successfully.Note: Remember that PMON can take a minut
5、e to register the dispatcher with the listener.LSNRCTL servicesConnecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=helios)(PORT=1521)Services Summary.Service has 1 instance(s). Instance sales, status READY, has 3 handler(s) for this service. Handler(s): DEDICATED established:0 refused:0 state:rea
6、dy LOCAL SERVER D000 established:0 refused:0 current:0 max:10000 state:ready DISPATCHER (ADDRESS=(PROTOCOL=tcp)(HOST=helios)(PORT=52414) D001 established:0 refused:0 current:0 max:10000 state:ready DISPATCHER (ADDRESS=(PROTOCOL=tcp)(HOST=helios)(PORT=52415)The command completed successfully.See Also
7、: Oracle Net Services Administrators Guide for information on setting the output modeConfiguring Initialization Parameters for Shared ServersThe following list provides information on configuring initialization parameters for shared servers. Make sure that the DISPATCHERS line is correctly set. For
8、example: DISPATCHERS = (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP) (HOST=hostname)(PORT=1492)(queuesize=32) (DISPATCHERS = 1) (LISTENER = alias) (SERVICE = servicename) (SESSIONS = 1000) (CONNECTIONS = 1000) (MULTIPLEX = ON) (POOL = ON) (TICK = 5) One, and only one, of the following attributes is required:
9、 PROTOCOL ADDRESS DESCRIPTIONADDRESS and DESCRIPTION provide support for the specification of additional network attributes beyond PROTOCOL. In the previous example, the entire DISPATCHERS line can be (PROTOCOL=TCP). The attributes DISPATCHERS, LISTENER, SERVICE, SESSIONS, CONNECTIONS, MULTIPLEX, PO
10、OL, and TICKS are all optional. Make sure that the optional MAX_DISPATCHERS line is correctly set. For example: MAX_DISPATCHERS = 4 This line should reflect the total number of dispatchers you want to start. Make sure that the optional MAX_SHARED_SERVERS line is correctly set. For example: MAX_SHARE
11、D_SERVERS = 5 This line sets the upper bound on the total number of shared servers PMON can create, based on the peak load of the system. This should be set high enough so that all requests can be serviced, but not so high that the system swaps if they are reached. The purpose of this parameter is t
12、o prevent the server from swapping. Run the following script to see what the highwater mark is for the number of servers running, and then set MAX_SHARED_SERVERS to more then this.SELECT maximum_connections MAX CONN, servers_started STARTED, servers_terminated TERMINATED, servers_highwater HIGHWATER
13、 FROM V$SHARED_SERVER_MONITOR; Make sure that the optional SHARED_SERVERS line is correctly set. For example: SHARED_SERVERS = 5 This is the total number of shared servers started when the database is started. It also represents the total number of shared servers PMON tries to keep. It should be the
14、 total number of servers expected to be used when the database is active. MAX_SHARED_SERVERS is intended to handle peak load.Checking the ConnectionsUse the LSNRCTL control utilitys services command to see if there are excessive connection refusals. Check the listeners log file to see if this is a c
15、onnection problem. For example:LSNRCTL servicesConnecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=helios)(PORT=1521)Services Summary.Service has 1 instance(s). Instance sales, status READY, has 2 handler(s) for this service. Handler(s): DEDICATED established:11 refused:0 state:ready LOCAL SERVER
16、 D000 established:565 refused:4 current:155 max:10000 state:ready DISPATCHER (ADDRESS=(PROTOCOL=tcp)(HOST=helios)(PORT=38411)The command completed successfully.Under normal conditions, the number refused should be zero. Shut down the listener and restart it to erase these statistics. If the refused
17、count is increasing after the listener restarts, then the connections are being refused. If the refused count stays at zero, and if the problem you are troubleshooting is occurring, then your problem is not with the connections being refused.Checking the Connect/Second RateConnection refusals can oc
18、cur for many reasons. Examine the listener log to see what the connect rate is. Run the listener log analyzer script to check.The listener is a queue-based process. It receives connect requests from the lower level protocol stack. It has a limited queue stack which is configurable to the operating s
19、ystem maximum. It can only process one connection at a time, and there is a limit to the number of connections a second the process can handle.If the rate at which the connect requests arrive exceeds that limit, then the requests are queued. The queue stack is also limited, but you can configure it.
20、 If there are more listener processes, then the requests made against each individual process are fewer and are handled more quickly.Increasing the listener queue is done in the listener.ora file. The listener.ora file can contain many listeners, each by a different name. It is assumed that only one
21、 of those listed is having a problem. If not, then apply this method to all applicable listeners. To increase the listener queue, add (queuesize = number) to the listener.ora file. For example:listener = (address = (protocol = tcp) (host = sales-pc) (port = 1521) (queuesize = 20) )See Also: Oracle N
22、et Services Administrators GuideStop and restart the listener to initialize this new parameter. If you are not currently running a shared server configuration, then consider doing so. It is faster for the listener to handle a client request in a shared server configuration than it is in a dedicated
23、server configuration.Note: Shared server dispatchers also receive connect requests and can also benefit from tuning the queue size. The maximum queue size is subject to the maximum size possible for a particular operating system.Detecting Network ProblemsThis section encompasses local area network (
24、LAN) and wide area network (WAN) troubleshooting methods.Using Dynamic Performance Views for Network PerformanceNetworks entail overhead that adds a certain amount of delay to processing. To optimize performance, you must ensure that your network throughput is fast, and you should try to reduce the
25、number of messages that must be sent over the network. It can be difficult to measure the delay the network adds.Three dynamic performance views are useful for measuring the network delay: V$SESSION_EVENT V$SESSION_WAIT V$SESSTATIn V$SESSION_EVENT, the AVERAGE_WAIT column indicates the amount of tim
26、e that Oracle waits between messages. You can use this statistic as a yardstick to evaluate the effectiveness of the network.In V$SESSION_WAIT, the EVENT column lists the events for which active sessions are waiting. The sqlnet message from client wait event indicates that the shared or foreground p
27、rocess is waiting for a message from a client. If this wait event has occurred, then you can check to see whether the message has been sent by the user or received by Oracle.You can investigate hang-ups by looking at V$SESSION_WAIT to see what the sessions are waiting for. If a client has sent a mes
28、sage, then you can determine whether Oracle is responding to it or is still waiting for it.In V$SESSTAT you can see the number of bytes that have been received from the client, the number of bytes sent to the client, and the number of calls the client has made.Understanding Latency and BandwidthThe
29、most critical aspects of a network that contribute to performance are latency and bandwidth. Latency refers to a time delay; for example, the gap between the time a device requests access to a network and the time it receives permission to transmit. Bandwidth is the throughput capacity of a network
30、medium or protocol. Variations in the network signals can cause degradation on the network. Sources of degradation can be cables that are too long or wrong cable type. External noise sources, such as elevators, air handlers, or florescent lights, can also cause problems.Common Network TopologiesLoca
31、l Area Network Topologies: Ethernet Fast Ethernet 1 Gigabit Ethernet Token Ring FDDI ATMWide Area Network Topologies: DSL ISDN Frame Relay T-1, T-3, E-1, E-3 ATM SONATTable11-1 lists the most common ratings for various topologies.Table 11-1 Bandwidth RatingsTopology or CarrierBandwidthEthernet10 Megabits/secondFast Ethernet100 Megabits/second1 Gigabit Ethernet1 Gigabits/secondToken Ring16 Megabits/secondFDDI100 Megabits/secondAT
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1