Mailer–Specific Terms | Meaning |
Distribution List | List of recipients by e-mail name |
Membership Directory | Directory containing user properties including e-mail name and interests |
AUO | Active User Object: Web server script object that handles member operations in Site Server 3.0 |
ASP | Active Server Page: a page that contains BASIC-type code that executes on the Microsoft Web Server |
This document evaluates the performance and scalability characteristics of Microsoft® Site Server version 3.0 Direct Mail. Also demonstrated are procedures for identifying these characteristics. This document can be used to assess the value of adding resources, and to identify which resources would satisfy greater capacity needs.
In the test scenarios, five computers were used in the following configurations:
Direct Mail Processor Scaling
Sender: | CPU: | 2 x 100-MHz Pentium |
Memory: | 128 MB of RAM | |
Disk: | 4.3-GB SCSI | |
Network: | 100 BaseT (switched) | |
Software: | Microsoft® Windows NT® version 4.0 Option Pack, Site Server version 3.0 (List Builder Service, Message Builder Service, and Direct Mailer) |
|
SMTP: | CPU: | 4 x 66-MHz Pentium |
Memory: | 512 MB of RAM | |
Disk: | 2-GB, 2-GB, 20-GB SCSI | |
Network: | 100 BaseT (switched) | |
Software: | Windows NT 4.0 Option Pack, Windows NT Resource Kit |
|
LDAP: | CPU: | 2 x 200-MHz Pentium Pro |
Memory: | 256 MB of RAM | |
Disk: | 4.3-GB SCSI | |
Network: | 100 BaseT (switched) | |
Software: | Windows NT 4.0 Option Pack, Site Server 3.0 | |
SQL: | CPU: | 4 x 133-MHz Pentium |
Memory: | 512 MB of RAM | |
Disk: | 22-GB SCSI RAID 0 | |
Network: | 100 BaseT (switched) | |
Software: | Windows NT 4.0 Option Pack Microsoft® SQL Server™ version 6.5 Service Pack 3 |
|
Web Server: | CPU: | 4 x 133-MHz Pentium |
Memory: | 1-GB of RAM | |
Disk: | 12-GB SCSI RAID 0 | |
Network: | 100 BaseT (switched) | |
Software: | Windows NT 4.0 Option Pack Microsoft® Internet Information Server version 4.0 |
Test Name | Test Description |
Personalized Static Mail | Static HTML that is personalized on the Web Server |
Non-Personalized Static Mail | Static HTML. |
Personalized Dynamic | Mail generated via ASP using AUO and is also personalized on the Web server |
Non-Personalized Mail | Mail generated via ASP using AUO. |
Direct Mail sends electronic mail to groups of users. In addition to sending bulk mail to existing customers, you can use Direct Mail to send bulk e-mail to Web site users. You can also personalize messages according to these factors:
The mail process can be automated. For example, every Monday morning, Direct Mail can check which users have browsed the site for your new product in the past week. E-mail can then be sent to those users. Note that users who have never seen the site before will receive an introductory message; users who have been to the site more than once will receive more detailed information about the product. This task can be scheduled for low activity periods, such as before 4:00 A.M., so that your computers are free for your normal business activities.
Direct Mail utilizes several components:
Interaction and process of Direct Mail
The following diagram shows the Direct Mail service broken down by the physical servers that house the interacting components.
The process of sending mail operates in three distinct phases:
Based on the data collected in this document, the following assertions can be made about scaling and performance for Direct Mail:
This chart shows that the time resource cost for adding personalization to a simple HTML is approximately 40 percent greater.
It also shows that a simple dynamic script can increase the time to complete a mailing by 20 percent over a static script. The script in this example is in Appendix B. It is an uncomplicated script. More complex scripts will increase maximum throughput and time to completion.
Time per mailing by mail type
List Size | Personalized Static | Non-Personalized Static | Personalized Dynamic | Non-Personalized Dynamic |
1,000 | 1.07 minutes | 0.76 minutes | not measured | 2.16 minutes |
10,000 | 28 minutes | 10 minutes | 25.25 minutes | 12.25 minutes |
50,000 | 61 minutes | 44 minutes | 119.5 minutes | 49 minutes |
100,000 | 127 minutes | 89 minutes | 240.25 minutes | 97.75 minutes |
These tables display the maximum mail send rate when it is in the send and receive mail phase. The rates show the maximum sustainable speed at different list sizes.
Maximum send rate by mail type
List Size | Personalized Static | Non-personalized Static | Personalized Dynamic | Non-personalized Dynamic |
1,000 | 26 msg/sec | 54 msg/sec | 9.734 msg/sec | 44 msg/sec |
10,000 | 26 msg/sec | 53.5 msg/sec | 9.733 msg/sec | 43.534 msg/sec |
50,000 | 26 msg/sec | 53.7 msg/sec | 9.801 msg/sec | 43.801 msg/sec |
100,000 | 26 msg/sec | 53.5 msg/sec | 9.934 msg/sec | 44.467 msg/sec |
This chart shows the maximum private bytes utilized by the Message Builder and List Builder Services while sending the different transactions. These memory consumption values are only for the mail services and do not include the memory used by Windows NT or any other process running on the server.
Memory utilization on Message Builder/List Builder by mail type
List Size | Personalized Static | Non-Personalized Static | Personalized Dynamic | Non-Personalized Dynamic |
1,000 Members | 4,608 KB | 4,476 KB | 6,840 KB | 6,733 KB |
10,000 Members | 9,332 KB | 8,039 KB | 9,056 KB | 7,548 KB |
50,000 Members | 23,989 KB | 22,624 KB | 23,944 KB | 21,372 KB |
100,000 Members | 40,916 KB | 48,808 KB | 47,509 KB | 40,260 KB |
The SQL server maintains the database for the Membership Directory. During the first phase of the mailing operation it handles the requests from the LDAP server for the user objects. This table details the CPU utilization for this system. The disk subsystem on the SQL server is also utilized. The specifications and recommendations for this specific subsystem are documented in a separate paper. The SQL server should be optimized as described in the Site Server 3.0 Membership Directory Configuration and Tuning document, which is also available from Microsoft.
List Size | Measured Data | Personalized Static | Non-Personalized Static | Personalized Dynamic | Non-Personalized Dynamic |
1,000 | CPU | 16% | 16% | 10% | 11% |
Phase Length | 8 seconds | 8 seconds | 10 seconds | 10 seconds | |
10,000 | CPU | 6.04% | 5.86% | 5.90% | 6.34% |
Phase Length | 4 minutes | 6 minutes | 5 minutes | 4.25 minutes | |
50,000 | CPU | 12.10% | 11.02% | 11.13% | 11.01% |
Phase Length | 9 minutes | 11 minutes | 10 minutes | 10.5 minutes | |
100,000 | CPU | 13.75% | 13.44% | 12.70% | 11.60% |
Phase Length | 18 minutes | 18 minutes | 18.5 minutes | 20.25 minutes |
The phase length in this table refers to the active period for the SQL server specific to the mailer operation. According to the description above this would be phase one.
However, if the personalized script makes use of the AUO object then another request could be made through the LDAP server to the SQL server.
The LDAP Service handles the requests for name resolution during the first phase of the mailing operation. The Message Builder Service computer opens a single connection to the LDAP server and makes a continuous stream of requests. The table below details the resource utilization for the LDAP server in this phase.
List Size | Measured Data | Personalized Static | Non-Personalized Static | Personalized Dynamic | Non-Personalized Dynamic |
1,000 | LDAP Searches | 16 req/sec | 16 req/sec | 9.367 req/sec | 8 req/sec |
CPU | 17% | 17% | 12% | 9% | |
Phase length | 8 seconds | 6 seconds | 14 seconds | 12 seconds | |
10,000 | LDAP Searches | 3.35 req/sec | 6 req/sec | 3.18 req/sec | 3.2 req/sec |
CPU | 4.13% | 9% | 3.97% | 4.08% | |
Phase length | 4 minutes | 13 minutes | 5 minutes | 4.25 minutes | |
50,000 | LDAP Searches | 7.58 req/sec | 6.95 req/sec | 8.14 req/sec | 10.2 req/sec |
CPU | 7.71% | 9.75% | 8.70% | 10.80% | |
Phase length | 9 minutes | 11 minutes | 10 minutes | 10.5 minutes | |
100,000 | LDAP Searches | 8.69 req/sec | 7.7 req/sec | 8.89 req/sec | 13.1 req/sec |
CPU | 9.11% | 14.20% | 9.40% | 13.80% | |
Phase length | 18 minutes | 20 minutes | 18.5 minutes | 20.25 minutes |
The phase length in this table refers to the active period for the LDAP server specific to the mailer operation. According to the description above this would be phase one.
However, if the personalized script makes use of the AUO object, then another request could be made through the LDAP server to the SQL server.
In this table, the second phase of the mail operation is detailed. The primary resource utilization for this server is the CPU. It should be noted that the script that is run will greatly affect the overall outcome of these results. The script that was used in this test is contained in Appendix B.
List Size | Measured Data | Personalized Static | Non-Personalized Static | Personalized Dynamic | Non-Personalized Dynamic |
1,000 | CPU | 4% | 1% | 12% | 1% |
Phase Length | 40 seconds | n/a | 1 minute | n/a | |
10,000 | CPU | 8% | 1% | 13.31% | 1% |
Phase Length | 6 minutes | n/a | 17.5 minutes | n/a | |
50,000 | CPU | 7.80% | 1% | 11.91% | 1% |
Phase Length | 33 minutes | n/a | 68.5 minutes | n/a | |
100,000 | CPU | 7.65% | 1% | 12.70% | 1% |
Phase Length | 64 minutes | n/a | 179 minutes | n/a |
The SMTP server was running an SMTP server emulator (the program is a tool called SuperSink.exe) that did not actually send the message. Refer to the SMTP scaling documents available from Microsoft that address specifications for this component. The transaction rate generated by the mailer directly corresponds to the amount of mail traffic the server should handle.
All counters noted can be found in the Microsoft® Windows NT® Performance Monitor. These counters will be distributed among the machines in the Personalization and Membership (P&M) service group. The counters in the system and memory objects can be used to monitor capacity.
Disk Writes/secDisk activity should not sustain maximum transaction rate
Disk Reads/sec
Context switches/secshould be less than 15,000
%Total Processor should be less than 80%
%Processor Utilization (average)should be less than 80% (for each processor)
Available Bytesshould be greater than 4 MB of RAM
Pages/secshould be less than 1 per second
Messages Sent/sec
Messages Delivered/sec
Private Bytesfor the inetinfo, TMMLBSvc, TMsgBld processes
<%@LANGUAGE=VBScript%>
<%
m_BindAsUserName = "cn=Administrator"
m_BindAsPassword = "password"
%>
<!-- #INCLUDE FILE="dmheader.asp" -->
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<!-- meta http-equiv="Content-Type" content="text/html"; charset="iso-8859-1" -->
<meta http-equiv="Content-Type" content="text/html">
<title>Direct Mailer Test - Simple AUO page</title>
</head>
<body>
<%
response.write "Hello " & m_sFirstName & ", where do you want to go today?" & chr(13)
%>
</body>
</html>
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Direct Mailer Test - Simple HTML Page</title>
</head>
<body>
Hello, World!
</body>
</html>
Information in this document, including URL and other Internet web site references, is subject to change without notice. The entire risk of the use or the results of the use of this resource kit remains with the user. This resource kit is not supported and is provided as is without warranty of any kind, either express or implied. The example companies, organizations, products, people and events depicted herein are fictitious. No association with any real company, organization, product, person or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
© 1999-2000 Microsoft Corporation. All rights reserved.
Microsoft, Windows and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and/or other countries/regions.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.