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.dbmysqldump database1 database2 database3 >partialdump.db
Now obtain the size of the file or files using du
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 -aelx0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 1 inet 10.1.1.2 netmask ff000000 broadcast 10.255.255.255 ether 0:60:8:1d:e2:2bspwr0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.135 netmask ffffff00 broadcast 192.168.1.255 ether 0:e0:29:1a:96:73spwr0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255spwr0:2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.2 netmask ffffff00 broadcast 192.168.1.255lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> 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
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
. back to the top