Microsoft KB Archive/323946

= HOW TO: Determine Hardware Requirements for a UNIX-to-Windows Migration =

Article ID: 323946

Article Last Modified on 11/1/2006

-

APPLIES TO


 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Professional Edition
 * Microsoft Small Business Server 2000 Standard Edition
 * Microsoft Internet Information Services 5.0

-



This article was previously published under Q323946



IN THIS TASK
SUMMARY
 * Translating CPU Requirements
 * Translating Memory Requirements
 * Translating Disk Space Requirements
 * Translating Networking Requirements

REFERENCES



SUMMARY
This articles describes how to determine the hardware requirements you will have when you migrate your computer from UNIX to Windows 2000.

back to the top

Translating CPU Requirements
You should be able to make a one-to-one comparison between the existing CPU requirements of an existing Linux or Unix machine and a new Windows-based machine. Windows dynamically scales it's performance according to the number of pages served, rather than the per-client model employed by Apache. For very large sites hosted on one or two 4-,8- or 16-way Unix servers, you should consider splitting them into a number of smaller servers under Windows and making use of the load balancing facilities.

back to the top

Translating Memory Requirements
The memory requirements of your current Unix machine can normally be translated directly to your new Windows machine. Although there are differences in the amount of memory used by the two platforms, it is unlikely that minor differences in memory requirements will significantly alter performance. As with all platforms and operating systems, the more memory available, the better the overall performance.

back to the top

Translating Disk Space Requirements
A typical Windows 2000 installation requires approximate 1.5GB of space. Adding SQL Server or additional applications such as Java, Perl, Python or MySQL will push the base requirements to 2GB.

If you are currently using RAID or similar technology to increase performance, make sure you provide the same functionality on the Windows server.

To determine the current disk space usage for your website under Unix/Apache use du to calculate the total disk space usage for the static and scripting elements of your site. For example: du -sk /export/http/webs To calculate the requirements for any database you need to calculate the size of the raw data and then add 25% of this for additional indexing and storage requirements. To get the raw data size for a database, use the corresponding RDBMS dump tool to dump the database specification and data to a text file. For example, MySQL uses the mysqldump utility. Use the -A argument to dump all the databases or specify each database name individually, i.e. mysqldump -A >fulldump.db

mysqldump database1 database2 database3 >partialdump.db Now obtain the size of the file or files using du: du fulldump.db Then add 25% of the figure to calculate the total size requirements. Allow an extra 50% on top of this for growth.

back to the top

Translating Networking Requirements
Windows supports TCP/IP as standard and can make use of multiple interfaces and multiple-IP addresses for a single network card. To determine the current settings for a Unix machine, use ifconfig with the -a argument: $ ifconfig -a elx0: flags=1000843 mtu 1500 index 1 inet 10.1.1.2 netmask ff000000 broadcast 10.255.255.255 ether 0:60:8:1d:e2:2b spwr0: flags=1000843 mtu 1500 index 2 inet 192.168.1.135 netmask ffffff00 broadcast 192.168.1.255 ether 0:e0:29:1a:96:73 spwr0:1: flags=1000843 mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 spwr0:2: flags=1000843 mtu 1500 index 2 inet 192.168.1.2 netmask ffffff00 broadcast 192.168.1.255 lo0: flags=1000849 mtu 8232 index 3 inet 127.0.0.1 netmask ff000000 There will always be one 'loopback' interface.

For each network card there will be a corresponding entry in the output. Drivers are listed, and each interface using a particular driver is then numbered. In the above example, we have two interfaces, spwr0 and elx0.

Virtual IP addresses on a single interface are indicated by a trailing colon and virtual IP number. Two are listed in the above, spwr0:1 and spwr0:2.

back to the top

