Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Loadrunner self-study and question and answer 2

2025-01-15 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/03 Report--

Video summary address: https://edu.51cto.com/lecturer/4626073.html

46.LR starts controller to report error "transaction monitor not available"

1. Most of them are OS system problems. Try to repair or upgrade.

two。 Or try to repair LR.

47.Loadrunnber reported an error: Error-- memory violation: Exception ACCESS_VIOLATION received. A situation in which

Posted on 2011-01-05 12:12 read (433) comments (0) Editor Collection

In a recently written Loadrunner script, the last step is to click the "exit" button to exit the login status, as follows:

Web_text_link ("[exit]"

"Snapshot=t18.inf"

DESCRIPTION

"Text= [exit]"

ACTION

"UserAction=Click"

LAST)

Return 0

But an error will be reported:

Action1.c (94): Error: C interpreter run time error: Action1.c (94): Error-memory violation: Exception ACCESS_VIOLATION received.

Action1.c (94): Notify: CCI trace: Action1.c (94): web_text_link (0x02080870, 0x0208085f "Snapshot=t18.inf", 0x02080a42 "DESCRIPTION", 0x02080853, 0x02080a3b "ACTION", 0x020809de "UserAction=Click", 0x02080a6a "LAST")

Action1.c (94): Notify: CCI trace: Compiled_code (0): Action1 ()

After the experiment, it is found that it is because there is an automatic jump after quitting.

There will be no problem if the exit end code is changed to the following.

Web_text_link ("[exit]"

"Snapshot=t18.inf"

DESCRIPTION

"Text= [exit]"

ACTION

"UserAction=Click"

LAST)

Web_browser ("Sync"

"Snapshot=t18.inf"

DESCRIPTION

ACTION

"Sync"

LAST)

Return 0

Conclusion:

If the web_text_link has an intermediate jump, it cannot be placed at the end of the code, but there must be a Sync at the end.

48.Step download timeout (sec) Settings

This default is 120s, but often we want to set it larger, specific setting method: Vugen-- "Vuser---" Runtime-settings---- "Preferences-" option, change the default value of Step download timeout (sec) 120s to the value you need, and then change HTTP-reguest connnect timeout (sec) and HTTP-reguest receive timeout (sec) to the corresponding values.

forty-nine。 Modify the number of native tcp connections

Because the default number of tcp connections on a personal PC is only 15 (xp), when we simulate multiple virtual users, we will encounter the connection limit of tcp and report an error. Method of modification: run Patch.exe under windows

Type C, and then enter the TCP/IP connection number you want (usually 500-2000) enter to confirm

Enter Y enter to confirm.

The countdown is over in 15 seconds.

Then run Patch.exe to see if the number of connections has changed from the original 10 to the changed value.

Patch.exe download address: http://www.touchboy.cn/2007/05/%...% E6%8E%A5%E6%95%B0/

fifty。 About Error-27791: Error-27790:Error-27740: solution to the error:

The error is as follows:

Action.c: Error-27791: Server "www.zcpx.cn" has shut down the connection prematurely

Action.c: Error-27790: Failed to read data from server "www.zcpx.cn": [10053] Software caused connection

Abort

Action.c: Error-27740: Overlapped transmission of request to "www.zcpx.cn" for URL

"http://www.zcpx.cn/userEntry.do" failed: WSA_IO_PENDING

Solution:

Add web_set_sockets_option ("OVERLAPPED", "0") to the front of the script

fifty-one。 A solution to the error code 27796 in LR

The error is as follows:

fifty-two。

1A: if the registry cannot be accessed or written, you can restore the registry or uninstall (clear the registry, you can use tools) to reinstall the program.

When I want to start the service of the instance that comes with LR, there is an error. Prompt: the port has been occupied by another service. Can you modify the port originally set by this program?

2A: after stopping the service, find the xitami.cfg file in the program's installation directory\ WebTours to modify the portbase value. Note that the default port number is portbase+80, and the portbase value is 1000; to change the port number to 8088, change the portbase to 8008, and save it (8088 / 8008 / 80). Then restart the service

Two: LoadRunner interview (written test) questions collation

1. What is a load test? What is a performance test?

The load test is to test the change of the system performance by gradually increasing the system load, and finally determine the maximum load that the system can bear when the performance index is met. for example, the response time for accessing a page is no more than 1 second, and the load test is the maximum number of concurrent users that the system can withstand when the response time is 1 second.

Stress testing usually tests the stability of the system under high load, which can more effectively find the hidden danger of system stability and the functional hidden danger of the system under the condition of peak load.

Performance testing: to determine the maximum load pressure that the system can bear under certain constraints (specified software, hardware, network environment, etc.).

two。 Which tests are included in the performance test (name at least 3)

Performance testing includes load test, stress test, large amount of data test, fatigue strength test and so on.

3. Briefly describe the steps of performance testing

First, analyze the product structure and clarify the requirements of performance testing, including concurrency, limit, configuration and indicators. If necessary, the same testing strategy based on LOAD testing should also consider the requirements of stability testing.

Second, analyze the application scenarios and user data, subdivide the user behavior and related data flow, determine the test points or test interfaces, list the possible bottlenecks of the system interface, generally first the backbone interface and then the feeder interface, and complete the preliminary test case design.

Thirdly, the test network design is carried out according to the performance test requirements and the determined test points, and the importance or priority of different networking schemes is defined as the basis of choice and evaluation. when necessary, the testability design scheme to support performance testing and the requirements for testing tools are put forward in the early product design.

Fourth, complete the performance test case design, classification selection and design test procedures according to user behavior analysis, and prepare the test data that will be used by the test cases.

Fifth, determine the testing tools to be used.

Sixth, carry out the preliminary test, focusing on the availability of the backbone interface, analyze the performance bottleneck according to the test results, and iterate to ensure the basic indicators and other testing environment.

Seventh, iteratively conduct a comprehensive performance test to complete the execution of the planned performance test cases.

Eighth, complete the performance test evaluation report.

When conducting performance testing, we need to know some effective performance metrics. Let's list some key performance metrics:

First, general indicators (which refer to the required test items for Web application servers and database servers):

* ProcessorTime: refers to the server CPU occupancy rate. Generally speaking, when the average service reaches 70%, the service is nearly saturated.

* Memory Available Mbyte: the number of available memory. You should also pay attention to any changes in memory during the test. If it is a memory leak, it will be more serious.

* Physicsdisk Time: read and write time of physical disk.

Second, Web server metrics:

* Avg Rps: average number of responses per second = total request time / seconds

* Avg time to last byte per terstion (mstes): the average number of iterations per second for business playbooks; * Successful Rounds: successful requests

* Failed Rounds: failed request

* Successful Hits: number of successful clicks

* Failed Hits: number of clicks that failed

* Hits Per Second: clicks per second

* Successful Hits Per Second: successful clicks per second

* Failed Hits Per Second: number of failed clicks per second

* Attempted Connections: number of attempted links.

Third, database server indicators:

* User 0 Connections: the number of user connections, that is, the number of database connections

* Number of deadlocks: database deadlock

* Butter Cache hit: the hit of the database Cache.

4. A brief description of the steps to use Loadrunner

A4: develop performance test plan-> develop test script-> design test scenario-> execute test scenario-> monitor test scenario-> analyze test results

5. When can I start performing performance tests?

The functional test passed; generally, the systems that need to be tested are functional modules with large number of users, frequent business use and more important.

6. What are the components of LoadRunner?

A6: it mainly consists of three parts:

7. Which part of LoadRunner do you use to record scripts?

Use Virtual User Generator to record test scripts

8. Which part of LoadRunner can simulate multi-user concurrent playback of scripts?

The Controller component of LoadRunner.

9. What is a rendezvous point? What's the point of setting a rendezvous point? Which function is used to set the rendezvous point in Loadrunner?

In the process of performance testing, it is necessary to simulate a large number of users to access the system and operate a task at the same time, which can be achieved by configuring a collection point, and multiple users perform an operation at the same time.

The rendezvous point creates a dense user load on the server, enabling LoadRunner to test the performance of the server under load.

Set rendezvous point function: lr_rendezvous ("Meeting"); / / Meeting is the name of the rendezvous point

10. What is a scene? What is the importance of the scene? How do I set up the scene?

The scenario is used to simulate the actual business operations of users.

There are manual scenes and goal-oriented scenes in LoadRunner.

Setting scene: select scene type, set runtime settings, simulate the number of users, add and decompress mode, duration, configure load generation

1. Select the script needed in the scene

two。 Choose as the target scene or the specified manual scene

3. Set the number of users, set the devices that generate load

4. Set execution policy

11. Please explain how to record a web script?

LR forms a script by forwarding requests to capture packets

Explanation: 1. HTML-based Script is recommended for browser-based applications and used in scripts

In the form of HTML pages, Script scripts in this way are easy to maintain and understand, and using the first option in advance in this option, if purely HTML, is not allowed to use associations.

2. URL-based Script is recommended for non-browser-based applications, and the presentation in the script is based on URL, which is not easy to read.

Explanation: 1. Whether to record the ThinkTime in the recording process, if recorded, you can also set the maximum value, usually I do not record this value.

2. Tell Vugen to reset the Http context between each action, which is required by default.

3. Log that fully records the recording process

4. Save a local snapshot to speed up the display

5. Put the title of html into the web_reg_find function

6. Supported character set standards

For 7.Http header recording, we can use the default, and there is no need to use web_add_header to record non-standard header messages.

Filter the contents of the recorded content and do not treat them as resource.

Explanation: this is the association I mentioned earlier. The system has pre-set some common association rules. Before we record the script, we can put the system's

twelve。 Why create parameters? How do I create parameters?

Parameters: if the script has the ability to change the environment when the environment changes, it needs to be parameterized (sent from the client to the server)

1. Determine the data to be parameterized

two。 Set the rule form to take the value

13. What is a connection? Please explain the difference between automatic association and manual association.

Association: many architectures use sessionid and other methods to identify different tasks and data. Applications do not send data in exactly the same way each time they run. You need to use a mechanism to process the recorded script. This mechanism is called association (sent by the server to the client).

14. What are the ways to set up the scene?

Target scene, manual scene

15. How do you find out where the connection is needed? Please give some examples of your project.

User login

After the client sends the request, the server verifies the correctness and sends it to the client sessionid, which is some kind of rule generation.

16. Where do you set the automatic association option?

Two places can be set up.

1. Setting allows automatic association when recording, and you can customize rules

two。 After the recording is complete, vuser-scan action for correlations

17. Which function is used to intercept dynamic values in virtual user scripts? (manual association)

The web_reg_save_param () function mainly identifies and extracts the dynamic data according to the fixed strings before and after the associated dynamic data, so when doing the association, we need to find out the left and right boundary strings of the dynamic data.

18. When did you choose to close the log in VUGen? When to select standard and extension logs?

Run-time,log

When debugging a script, you can output only the error log, which automatically becomes unavailable when you are asked to load the script in the scene.

Standard Log Option: when the standard log is selected, the standard log of the function is generated and the information is output for debugging during the execution of the script. You do not need to enable this option for large load test scenarios.

The extension log includes warnings and other information. Do not enable this option for large load tests. With the extended log option, you can specify what additional information needs to be added to the extended log

19. How do you debug LoadRunner scripts?

VuGen has two options to help debug Vuser scripts. Run Step by Step command and breakpoint (breakpoints). The debug settings (Debug setting) item in the Option dialog box determines the range of execution tracks during scene execution. Debugging information is written in the output window. Can be used

The lr_set_debug_messag function sets the information type manually in the script. If we only want to receive a small piece of modal information from the script.

20. How do you write custom functions in LR? Please give some functions that you wrote in previous projects.

We need to create a DLL (external libary) before creating a user-defined function. Put the library in the VuGen bin directory. Once the library is added, assign the custom function as a parameter. The function should have the following format: _ _ declspec (dllexport) char* (char*, char*).

Milan

21. What is gradual increment? How do you set it up?

Ramp up this option is used to gradually increase the number of virtual users or load on the server. Set an initial value and you can set a value wait between two iterations. To set up Ramp up, please go to 'Scenario Scheduling Options'.

twenty-two。 What are the advantages of a virtual user running as a thread?

VuGen provides the convenience of using multithreading. This allows more virtual users to run on each generator. If you run a virtual user as a process, load the same driver into memory for each user, thus taking up a lot of memory. This limits the number of virtual users who can run on a single generator. If you run on a thread, a given number of virtual users (for example, 100) simply loads an instance of the driver into memory. Each thread shares the memory of the parent driver, so more virtual users can run on each generator.

23. What do you do when you need to stop executing the script when something goes wrong?

The lr_abort function aborts the execution of the virtual user script. Indicates that the virtual user stops the execution of the Action, executes the vuser_end directly, and then ends the execution. This function is useful if you want to manually abandon the execution of the script in case of an error. When you stop the script with this function, Vuser is specified as the "Stopped" state. For this function to work, you cannot select the Continue on error option in Run-Time Settings in the first place.

24. What is the relationship between response time and throughput?

The throughput chart shows the number of bytes received by the virtual user from the server per second. When compared with the response time, it can be found that the response time decreases with the decrease of throughput, and similarly, the peak and maximum response time of throughput appear at about the same time.

25. Explain how to configure system counters in LR?

Through the Web resource monitor, these monitors can be used to analyze the throughput, click rate, http responses per second, and pages downloaded per second of the web server.

twenty-six。 What is think time? What's the use of think_time?

Think time is the time that real users wait between action. For example, when a user receives data from the server, the user may need to wait a few minutes to review the data before responding. This delay is called think time.

twenty-seven。 What is the difference between standard logs and extended logs?

Standard Log Option: when the standard log is selected, the standard log of the function is generated and the information is output for debugging during the execution of the script. You do not need to enable this option for large load test scenarios.

The extension log includes warnings and other information. Do not enable this option for large load tests. With the extended log option, you can specify what additional information needs to be added to the extended log

twenty-eight。 Explain the following functions and their differences.

Lr_debug_message

The lr_debug_message function is at the specified message level

Send a debug message when it is active. If the specified

/ / if the message level is not active, no message is sent.

Lr_output_message

To send a special notification that is not a specific error message

Lr_error_message

Function to send error messages to the

/ / output window and Vuser log file

The Lrd_stmt lrd_exec function executes the SQL statement set by lrd_stmt.

The Lrd_fetch function extracts the following lines from the result set

Result set.

The function is ready for use

/ / output a string through the cursor (usually a SQL statement)

The next result set of /. For CtLib, it issues ct_result

/ command, and it runs in ODBC for the current database

twenty-nine。 What is throughput?

The number of requests processed by the client by the system per unit time.

thirty。 Is there anything other than iterative differences between action and init and end?

Rendezvous points, transactions, and so on cannot be used in init or end, and init and end are executed only once.

thirty-one。 Where do I set up the HTTP page filter?

Set it in download filter in runtime_settings.

thirty-two。 What is the principle of pot mapping?

Is the proxy server.

thirty-three。 What are the three types of HTTP timeouts?

HTTP-request connect timeout 、 HTTP-request receive timeout 、 step download timeout

thirty-four。 What is contentcheck? How to use it?

ContentCheck is set up to allow VuGen to detect which pages are error pages. If the Web application under test does not use a custom error page, it is not used as a change; if the Web application under test uses a custom error page, it needs to be defined so that VuGen can detect whether the page returned by the server contains a predefined string, and then determine whether the page is an error page.

Noodles. If so, VuGen stops running, indicating that the run failed.

How to use: click "contentcheck" in runtime settings, then create a new application and rules that meet the requirements, and set the text and prefix suffixes you need to find.

thirty-five。 What bandwidth is simulated by speed simulation in network?

Simulates the bandwidth of the user's access speed.

thirty-six。 What is the point of generating WEB performance diagrams? Just give a rough description.

It can be seen intuitively that the operation of the system under load and the use of various resources can play a desired auxiliary role in locating the performance bottleneck and tuning the performance of the system.

thirty-seven。 How to refresh the script in controller?

In controller, click detailis-Refresh-script.

thirty-eight。 What's the difference between a process and a thread?

The thread has its own global data. Threads exist in a process, so the global variables of a process are shared by all threads. Because threads share the same system area, resources allocated by the operating system to a process are available to all threads of that process, just as global data is available to all threads. In Controller, drivers such as mdrv.exe, r3vuser.exe will be used to run vuser. If you run each vuser by process, the same driver will be started repeatedly and loaded into memory for each vuser instance. Loading the same driver into memory takes up a lot of RAM (random access memory) and other system resources. This limits the number of vuser that can be run on any load generator. If you run each vuser,Controller per thread for every 50 vuser (by default), only one instance of the driver (such as mdrv.exe) is started. The driver will start several vuser, each vuser running by thread. These threads vuser will share the memory segment of the parent driver process. This eliminates the need to reload the driver / process multiple times and saves a lot of memory space so that more Vuser can be run on one load generator.

thirty-nine。 How do I put scripts and results on load generator's machine?

In controller, click Results-Results settings and make the appropriate settings in it.

forty。 How can I set up the rendezvous point to work for only half of the users?

Set the rendezvous point policy accordingly. That is, in controller, click Scenario-Rendezvous-policy to make the corresponding settings. Since "half of the users" in the title do not specify what kind of users they refer to, it is difficult to determine which option to set.

forty-one。 The API of LRd is divided into several categories

A: general API:, has nothing to do with specific protocols and can be used in any protocol script.

B: for protocols: for example, the lrs prefix is winsock; lrd is for database

C: custom: this scope is relatively wide; for example, at least Java Vuser API, lrapi, XML API. You can also add WindowsAPI and custom function libraries.

forty-two。 What are the differences between several log functions of LR?

[lr_message] int lr_message (const char * format, exp1, exp2, … Expn.): the lr_message function sends information to the log file and input window. When running in VuGen, the input file is output.txt.

[lr_log_message] int lr_log_message (const char * format, exp1, exp2, … The lr_log_message function sends the message to the Vuser or agent log file (depending on the application) rather than to the output window. You can use this function for debugging by sending error messages or other informational messages to the log file. [lr_error_message] int lr_error_message (const char * format, exp1, exp2, … Expn. The lr_error_message function sends error messages to the output window and the Vuser log file. To send a special notification that is not a specific error message, use lr_output_message.

[lr_output_message] int lr_output_message (const char * format, exp1, exp2, … Expn.): the lr_output_message function sends a message with the line number of the script part to the output window and log file.

[lr_debug_message function group] int lr_debug_message (unsigned int message_level, const char * format, … The lr_debug_message function sends a debug message when the specified message level is active If the specified message level is not active, the message is not sent. You can set the active message level to MSG_CLASS_BRIEF_LOG or MSG_CLASSS_EXTENDED_LOG from the user interface or using lr_set_debug_message. To determine the current level

Please use lr_get_debug_message. Unsigned int lr_get_debug_message (): the lr_get_debug_message function returns the current log runtime settings. This setting determines the information sent to the output. Log settings are specified using the runtime settings dialog box or by using the lr_set_debug_message function. Int lr_set_debug_message (unsigned int message_level, unsigned int on_off); the lr_set_debug_message function sets the debug message level message_lvl for script execution. By setting the message level, you can determine what information to send. The way to start the setting is to pass LR_SWITCH_ON as on_off, and the way to disable the setting is to pass LR_SWITCH_OFF.

[lrd_stmt]: associate a SQL statement with the cursor

[lrd_fetch]: the next record in the extraction result set

forty-three。 Performance bottleneck analysis method?

Same scene

1. Testing in the case of a small number of users

two。 Testing in the case of large number of users

The method of analysis:

The whole system architecture analysis, system response time consumption, using chart analysis

View the transaction response time, analyze the transaction response time through the transaction summary chart, which consumes the most (through the response time analysis of small and large users to see which transaction response time is the highest), determine which part of the function is the performance bottleneck, analyze the window resource chart, view cpu

Use the following counters to identify cpu bottlenecks

Processor\ Interrupts/sec

Processor\% Processor Time

Process (process)\% Processor Time

System\ Processor Queue Length

Use it to determine whether there is a bottleneck in the hardware itself, or to further determine how to determine where the performance bottleneck occurs!

The next step is to determine the process, which process consumes the most cpu

There are many situations that you need to judge for yourself. It is possible that the function called by the process consumes the system resources, or it may be the problem of the background database (this depends on your system configuration. For example, your db server and application server are configured on the same machine).

There are many bottlenecks in performance, so we need to judge whether it is the problem of the background database, and the problem caused by that statement needs further analysis and judgment.

Principles of analysis:

Specific analysis of specific problems (this is due to different application systems, different testing purposes, different performance concerns)

Look for bottlenecks in the following order, from easy to difficult.

Server hardware bottleneck-> network bottleneck (LAN can be ignored)-> server operating system bottleneck (parameter configuration)-> middleware bottleneck (parameter configuration, database, web server, etc.)-> application bottleneck (SQL statement, database design, business logic, algorithm, etc.)

Note: the above process is not required in every analysis, and the depth of the analysis should be determined according to the purpose and requirements of the test. For some low requirements, we analyze that under the large load pressure of the application system in the future (the number of concurrent users, the amount of data), where is the hardware bottleneck of the system.

Piecewise exclusion is very effective.

Sources of information for the analysis:

1 according to the error message in the process of running the scene

2 the monitoring index data collected according to the test results

One. Error prompt analysis

Analysis example:

1 Error: Failed to connect to server "10.10.10.30 Connection 8080": [10060]

Error: timed out Error: Server "10.10.10.30" has shut down the connection prematurely

Analysis:

A. the application service is dead.

(for small users: program problems. Deal with the problem of database programmatically)

B, the application service is not dead

(application service parameter setting problem)

Example: many clients are refused to connect to the Weblogic application server, and there is no error on the server side, then it is possible that the AcceptBacklog attribute value of the server element in Weblogic is set too low. If you receive a connection refused message when connecting, you should increase the value by 25% at a time

C, database connection

(1. The performance parameters of the application service may be too small. 2. The maximum number of connections started by the database (related to the memory of the hardware).

2 Error: Page download timeout (120 seconds) has expired

Analysis: it may be caused by the following reasons

A. too large setting of application service parameters leads to the bottleneck of the server.

B. there are too many pictures on the page.

C. check too many fields when the program processes the table

2. Data analysis of monitoring indicators

1. Maximum number of concurrent users:

The maximum number of concurrent users that the application system can bear in the current environment (hardware environment, network environment, software environment (parameter configuration)).

In the operation of the scheme, if the business operation of more than 3 users fails, or if there is a server shutdown, it means that in the current environment, the system can not bear the load pressure of the current concurrent users, then the maximum number of concurrent users is the previous number of concurrent users who did not have this phenomenon.

If the maximum number of concurrent users measured meets the performance requirements, and the resources of each server are in good condition, and the response time of business operations also meets the requirements of users, then OK. Otherwise, the reason is further analyzed according to the resource situation of each server and the response time of business operation.

2. Business operation response time:

The analysis of the operation of the scheme should start with the average transaction response time graph and the transaction performance summary chart. Using the transaction performance Summary diagram, you can identify transactions that take too long to respond during scenario execution.

Break down transactions and analyze the performance of each page component. Check which page components cause excessive transaction response time? Is the problem related to the network or server?

If the server takes too long, use the appropriate server diagram to determine the problematic server metrics and find out why the server performance is degraded. If the network takes too long, use the Network Monitor diagram to identify the network problems that are causing performance bottlenecks

3. Server resource monitoring metrics:

Memory:

1 UNIX resource monitoring metrics memory page swap rate (Paging rate). If this value goes up occasionally, it indicates that there are threads competing for memory at that time. If it remains high, memory may be the bottleneck. It is also possible that the memory access hit rate is low.

2 in Windows resource monitoring, if the values of Process\ Private Bytes counters and Process\ Working Set counters continue to rise over a long period of time, while the values of Memory\ Available bytes counters continue to decrease, there is likely to be a memory leak.

Memory resources are a sign of a bottleneck in system performance:

High page switching rate (high pageout rate)

The process enters an inactive state

The number of activity of all disks in the swap area can be high.

High global system CPU utilization

Out of memory error (out of memory errors)

Processor:

1. The indicator CPU occupancy rate (CPU utilization) in UNIX resource monitoring (similar to Windows operating system). If this value continues to exceed 95%, it means that the bottleneck is CPU. Consider adding a processor or switching to a faster processor. If the server is dedicated to SQL Server, the maximum acceptable limit is 80-85%

Fair use ranges from 60% to 70%.

2 in Windows resource monitoring, if System\ Processor Queue Length is greater than 2 and processor utilization (Processor Time) has been low, there is processor blocking.

A sign that CPU resources are becoming a bottleneck in system performance:

Slow response time (slow response time)

CPU idle time is zero (zero percent idle CPU)

Excessive user occupancy of CPU time (high percent user CPU)

Excessive system occupancy of CPU time (high percent system CPU)

A long queue of running processes (large run queue size sustained over time) for a long time

Disk IZP O:

1. The indicator disk exchange rate (Disk rate) in UNIX resource monitoring (the same as Windows operating system). If the value of this parameter is always high, it indicates that there is a problem with Ibino. Consider replacing a faster hard disk system.

2 in Windows resource monitoring, if the values of Disk Time and Avg.Disk Queue Length are very high, and the Page Reads/sec page read operation rate is very low, then there may be disk bottle diameter.

The sign that the Icano resource has become a bottleneck in system performance:

Excessive disk utilization (high disk utilization)

Too long disk waiting queue (large disk queue length)

The percentage of time waiting for disk I _ Dot O is too high (large percentage of time waiting for disk I _ An O)

Too high physical rate O rate: large physical I rate O (not sufficient in itself)

Too low cache hit ratio (low buffer cache hit ratio (not sufficient in itself))

Too long running process queue, but CPU is idle (large run queue with idle CPU)

4. Database server:

SQL Server database:

1. The Cache Hit Ratio of metrics cache in SQLServer resource monitoring. The higher the value, the better. If it continues to be less than 80%, consider increasing memory.

2 if the Full Scans/sec counter shows a value higher than 1 or 2, you should analyze your query to determine if a full table scan is really needed and whether the SQL query can be optimized.

3 Number of Deadlocks/sec (number of deadlocks per second): deadlocks are very harmful to application scalability and can lead to a poor user experience. The value of the counter must be 0.

4 Lock Requests/sec (lock request / second), which can be reduced by optimizing the query to reduce the number of reads.

Oracle database:

1 if free memory is close to 0 and the hit rate of library cache or data dictionary cache is less than 0.90, then you need to increase the size of SHARED_POOL_SIZE.

Hit ratio of cache (shared SQL area) and data dictionary cache:

Select (sum (pins-reloads)) / sum (pins) from v$librarycache

Select (sum (gets-getmisses)) / sum (gets) from v$rowcache

Free memory select * from v$sgastat where name='free memory'

2 if the cache hit ratio of the data is less than 0.90, then you need to increase the value of the DB_BLOCK_BUFFERS parameter (in blocks).

Buffer cache hit ratio:

Select name,value from v$sysstat where name in ('db block gets'

'consistent gets','physical reads')

Hit Ratio = 1-(physical reads / (db block gets + consistent gets))

3 if the value requested by the log buffer is large, increase the value of the LOG_BUFFER parameter.

Application for log buffer:

Select name,value from v$sysstat where name = 'redo log space requests'

4 if the memory sort hit ratio is less than 0.95, SORT_AREA_SIZE should be increased to avoid disk sorting.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report