获取dump
1. 打开一个命令行窗口,并切换到debugger tools的安装目录。输入以下命令,但请注意,不要立即按enter。
Adplus –hang –pn w3wp.exe –quiet
2. 重新打开一个命令行窗口,同样切换到debugger tools目录,使用tinyget脚本来对页面进行并发访问。
tinyget -srv:localhost -uri:/BuggyBits/FeaturedProducts.aspx -threads:30 -loop:50
这个命令将启动30个threads并发送50个requests到FeaturedProducts页面。
3. 在request仍然被发送的时候,可以在adplus窗口按enter以获取dump文件。
TinyGet Version 5.2 Overview |
|
Overview | Syntax | Complementary Tools |
TinyGet version 5.2 is a command-line HTTP client that supports multiple threads and looping. It provides detailed output and response validation, so you can use it to test or troubleshoot HTTP client-to-server communication. With TinyGet, you can customize each test request by configuring many different factors, including the authentication method, HTTP version, and output format. You can also use scripts that specify looping and multithreading. For example, when you create a new site, you can create an HTTP request that requests Active Server Pages (ASP), and use a script to run the request repeatedly, preparing the server for live-site traffic.
You can use TinyGet as a simple stress tool to test the performance of your site under different loads. In addition, you can use TinyGet to test new elements of any Web site, such as new wireless protocols or dynamic content. And because TinyGet provides only HTTP connection information, it provides a faster way to analyze and troubleshoot HTTP performance than running a NetMon trace.
System Requirements
TinyGet runs on the Microsoft® Windows® Server 2003 and Windows XP Professional operating systems.
TinyGet version 5.2 uses the following syntax:
TinyGet [Optional Parameters] ServerName URI
Mandatory Parameters
You must include the following mandatory parameters in a TinyGet request.
- -srv:ServerName | ServerName
- Specifies the name of the server to which to connect. If you use the -srv parameter, you can place it anywhere in the command-line statement. If you type just the ServerName, it must appear after any optional parameters and before the URI.
- -uri:URI | URI
- Specifies the URI (path) to get. If you use the -uri parameter, you can place it anywhere in the command-line statement. If you type just the URI, it must appear at the end of the command-line statement.
Optional Parameters
In addition to the two mandatory parameters, TinyGet accepts optional parameters in the following categories:
Authentication method and user settings
Use the following parameters to specify the authentication method, user name, and password.
- -a:Auth | -auth:Auth
- Sets the authentication method.
- Auth
- 0 = anon, 1 = basic, 2 = NTLM, 3 = Kerberos, 4 = digest, 5 = negotiate, and 111 = random.
You can use either numeric codes or text values. The default authentication method is Anonymous.
If you specify NTLM authentication, the keep-alive (-k) parameter is set automatically.
If you specify Basic or NTLM authentication, also specify the domain, user name, and user password. If you specify Basic authentication, credentials are sent in base-64 encoding. If you specify Kerberos authentication, two-leg authentication occurs.
- -domain:UserDomain | -m:UserDomain
- Specifies the user's domain name.
- -pass:UserPassword | -p:UserPassword
- Specifies the user's password.
- -user:Name | -u:Name
- Specifies the user name.
- -u:CurrentUser | Domain\User Password
- Specifies the user domain, user name, and password.
CurrentUser is case sensitive. It directs TinyGet to use the credentials of the user who is logged on to the server.
Use the following parameters to specify the type of request, the HTTP version to use, and the information that you want to have returned.
- -verb:Verb | -j:Verb
- Specifies the type of HTTP request.
- Verb
- GET, PUT, DELETE, HEAD, TRACE, and
POST.
The default verb is GET.
- -ver:HTTPVersion | -v:HTTPVersion
- Sets the HTTP version to use for the request.
- HTTPVersion
- 0 = HTTP 1.0, 1 = HTTP 1.1.
The default setting is 0.
- -reqbody:BODY | -rb:BODY
- Specifies the request body to use in the request.
- -freqbody:BODY | -frb:BODY
- Directs TinyGet to use a file that contains the request body.
- -reqheaders:BODY | -rh:BODY
- Specifies additional request headers.
- -freqheaders:BODY | -frh:BODY
- Specifies a file that contains the request body.
Use the following parameters to configure TinyGet output.
- -trace | -t
- Returns detailed trace information.
- -headers | -h
- Displays response headers.
- -data | -d
- Displays results data.
This option returns the request that was sent, the headers that were received, and the data that was received, and other relevant trace information.
Use the following parameters to specify Secure Sockets Layer (SSL) settings.
- -s:SSLProtocol
- Sets the secure channel protocol.
- SSLProtocol
- 0 = no secure channel, 1 = PCT1, 2 =
SSL2, 3 = SSL3, 4 = TLS1.
The default setting is no secure channel (0).
For PCT1, SSL2, SSL3, and TLS1, you can use either numeric codes or text values.
- -cipher:Cipher
- Sets the cipher for SSL.
- Cipher
- 0, RC2, RC4, DES, 3DES.
The 0 setting means that it is up to Schannel to use cipher instead of numeric codes.
Use the following parameters to specify key pair information.
- -keypair:fromIE | SubjectName
- Specifies the certificate key pair.
fromIE uses the certificates that are available from Internet Explorer.
- -keypair:PRIV_FILE CERT_FILE
- Specifies the files that contain the key pair (private key file and certificate file, respectively).
- -c:CertificateNumber
- Specifies the sequence number of the certificate to use from MYSTORE.
The default is 1.
Use the following parameters to allow multithreading and looping, and to specify the scripts that TinyGet should use.
- -threads:Number | -x:Number
- Sets the number of concurrent threads.
- -loop:Number | -l:Number
- Sets the number of times to perform the specified request.
- -script:Name | -z:Name
- Specifies the script name.
When you use the -script parameter, you cannot control the authentication and secure channel protocol; these default to whatever Wininet does.
- -y
- Reads the script in random order.
Use the following parameters to specify the characteristics of the result that you expect.
- -status:StatusCode
- Sets the expected status code.
- -testContainString:Value
- Specifies a string that must be contained in the response body.
- -testNotContainString:Value
- Specifies a string that must not be contained in the response body.
- -testEqString:Value
- Specifies that the response body must equal the specified string.
- -testEqFile:Filename
- Specifies that the response body must be the same as the content in the specified file.
- -hostheader:HeaderName | -n:HeaderName
- Adds the specified host header to the request.
The default value is server name.
- -reqraw:RAWREQUEST
- Specifies that the raw request is sent to the server.
If you specify RAWREQUEST, all other request settings are ignored.
The following miscellaneous parameters can be used with TinyGet.
- -b
- Directs TinyGet to catch exceptions and abort the request.
Use this parameter only for stress tests.
- -o
- Directs TinyGet to reuse the socket for multiple connections.
- -SockTimeout:Send Receive
- Sets the socket timeout in milliseconds.
The default setting is 18,000.
- -port:Number | -r:Number
- Sets the port on which to connect.
The default is port 80.
- -replayheader:HEADERNAME | -reph:HEADERNAME
- Directs TinyGet to replay the received header in the response.
- -initreplayheader
- Resets the replay header.
- -buffersize
- Sets the response buffer size.
The default is 100,000 bytes.
- -proxy:ProxyName ProxyPort
- Sets the proxy that should be used for the request.