Loadrunner, community version, a machine able to open up to 50 concurrent. Four machines is 200, four machines were manually set the operating parameters LR, after the implementation of the results were then aggregated statistics run together. Toll free version is very expensive, according to different protocols, concurrent to charge.
Jmeter, open source, programming support, but otherwise Loadrunner support completely. Is lightweight, and eighty Shizhao in mac download java environment can do performance testing.
Performance Testing:
Performance testing: under different load conditions, see the performance of the test system.
TPS and draw Response time: How many concurrent? How fast? correct? Three cases takes up much resources.
Performance testing of the whole process:
1
Utmost performance testing:
The most extreme case of concurrent access to analog most likely to occur.
Loadrunner tool in three parts:
virtualuser generator: Virtual User Generator: recording a script, the script debugging, in-line operation.
controller: setting performance test scenarios to run multi-threaded (multi-process) concurrent, concurrent testing.
analysys: Results of the analysis of the performance test execution, the chart can report.
Supplementary: ipspoofer: ip spoofing, do all IP network traversal, the network is generally a few hundred IP, LR run, then usually about one minute and ran over, lacks significance, so in order to test a large IP, need to be developed to limit Turn off IP performance test to do. But this situation does not correspond to the real situation, should be considered.
Detailed concept:
Start -HP Software-Start HP Web tours Server , equivalent to start the service, and then open http://127.0.0.1:1080/WebTours/index.htm tool comes with the website, open the page click on the administration, when the association needs to do select the third Set LOGIN form's action tag to an error page.
Association: the dynamic data into the variable will be used in subsequent tests. For example, after login, the system returns a token (string), access to all subsequent pages will be with this token. Recorded script to get the token, but all historical values before, during performance tests and can not be reused, so the association needs to be done.
Parameterization: Avoid a large number of requests are cache hits.
Create a recording script:
Start virtualuser generator, File-new Script and solution-WebHttpHtml, created in the C: recording a script file \ under Users \ Sun \ Documents \ VuGen \ Scripts path.
Script structure:
vuser_init: function, performed once in a thread up to a preparation for data and other operations, performed before the action
action: function, one thread can execute multiple 1-
vuser_end: a function of performing up to thread 1 in a clean-up operation for data is performed after the action.
Click the record icon to record, select the browser, recording mode and recording URL
Registered in the implementation of the page operation, while LR automatically starts recording, and click the button to end after the end of registration, LR generated script recording, open the action can be seen after: the corresponding other user information collection script can be deleted. Below are the highlights script parsing,
web_url ( "index.htm", // request the name of "URL = http: //127.0.0.1: 1080 / WebTours / index.htm", // The requested URL "Resource = 0", // whether the resources, 0 is not a resource page 1 resource: documents, images, JS, CSS "RecContentType = text / HTML", // contentType, request type is page type "Referer =", // when this page is requested from what URL access to information "Snapshot = t2.inf", // screenshot file name "mode = HTML", // recording mode HTML, as well as modes is a URL, if there is ajax, flash, etc. will all have to use url.url http requests are recorded EXTRARES, // Here are all the resource file, "Url = http: //www.duba.com/hotwords.json" , "Referer =", ENDITEM, these are static resource files, if just want to test dynamic data, you can delete the following line, if want to dynamic and static testing is not necessary to empty the "Url = http: //www.duba.com/hotwords.json", "Referer =", ENDITEM , LAST);
web_submit_data ( "login.pl_2", "the Action = HTTP: //127.0.0.1: 1080 / CGI-bin / login.pl", // process the data submission URL "Method = POST", // HTTP protocol type "RecContentType = text / html", // resource type submitted, contentType "Referer = HTTP: //127.0.0.1:? 1080 / cgi-bin / login.pl username & password = = = & getInfo to true", from which // URL jump over the "Snapshot = t12.inf", "Mode = HTML", the ItemData, // the following these can also be written manually, access to relevant information by Ethereal "Name = username", "Value = changjinling" , ENDITEM, "password = the Name", "the Value PasswordParameter = {}", ENDITEM, "passwordConfirm the Name =", "the Value = 123456", ENDITEM, " Name=firstName", "Value=chang", ENDITEM, "Name=lastName", "Value=jinling", ENDITEM, "The Name = address1", "Value = beijing", ENDITEM, "the Name = address2", "Value = tongzhou", ENDITEM, "the Name = register.x", "Value = 60", ENDITEM, // not on the UI page fields can see, it is implicit field, based on security considerations, such as the submission is valid How long do. "Name = register.y", "Value = 9", ENDITEM, // implicit field LAST);
All registered script: Action () {
web_add_auto_header ( "DNT", "1");
web_url ( "index.htm", // request the name of "URL = http: //127.0.0.1: 1080 / WebTours / index.htm ", // URL requests " resource = 0 ", // whether the resource is 0, not a resource, a web, 1:? resource: file: pictures, JS, CSS .. " RecContentType = text / HTML "/ / contentType: request type: page type "Referer =", // access information from which URL to the "Snapshot = t1.inf", // name of the screenshot file "mode = HTML", // recording mode: html, url If there is ajax \ flash \:. You must use url: http request will record all down. EXTRARES, // resource file "url = .. / favicon.ico", "Referer =", ENDITEM, "Url=http://s.pc.qq.com/navigate/adc/adc_loader.js?v=20160326171611", ENDITEM, "Url=http://s.pc.qq.com/navigate/adc/v4/engine_loader_v3.js", ENDITEM, "Url=http://s.pc.qq.com/navigate/adc/jquery.min.js?ver=3", ENDITEM, "Url=http://s.pc.qq.com/navigate/adc/velocity.js", ENDITEM, LAST);
By script playback, then a user name and password to repeat the registration is not successful, although http returned 200, but in fact no registration is successful, that is, the business is not successful. In web_submit_data ( "login.pl_2", before adding a line to assert code is not saved if the registration is successful, otherwise an error // assert the front onto the request, if successful, the page will Thank you such words web_reg_find ( " text = Thank you, ", LAST ) If the registration is successful in the implementation of the log can see the prompt:. Action.c (220): registered web_reg_find successful for" text = Thank you, "(count = 1) [MsgId: MMSG . -26 364] If the registration fails in the execution log can be seen Tip: Action.c (220): Error -26366 : "Text = Thank you," not found for web_reg_find [MsgId: MERR-26366].
Parameterization, the user name can be made by the random number, the file can also be used, to make the digital portion of the random number, right-2, with reference to FIG.