Potential of a server [duplicate]

I was wondering, if I use an old home machine as a server – how many connections will I be actually able to support. I was able to calculate the connection’s capabilities myself as it is quite simple.

30 mbit/s = 3.75 MB/s, with average request size of 150 KB 3750/150 = 25. So theoretically my connection will support 25 requests per second on average.

I am not sure how to do that for the hardware, though. The result will probably be greater than 25 which makes it irrelevant to the situation but I am doing it to learn. As well as there is always the possibility to upgrade my connection.

This is the hardware:

Motherboard

SMBIOS 2.5 present.

Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
        Manufacturer: BIOSTAR Group
        Product Name: G31D-M7
        Version:
        Serial Number: None
        Asset Tag: To Be Filled By O.E.M.
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: To Be Filled By O.E.M.
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0

Processor

  • Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz

Memory

/0/0                        memory      64KiB BIOS
/0/4/5                      memory      64KiB L1 cache
/0/4/6                      memory      3MiB L2 cache
/0/f                        memory      4GiB System Memory
/0/f/0                      memory      2GiB DIMM SDRAM Synchronous
/0/f/1                      memory      DIMM [empty]
/0/f/2                      memory      2GiB DIMM SDRAM Synchronous
/0/f/3                      memory      DIMM [empty]

Usage

             total       used       free     shared    buffers     cached
Mem:          3943        966       2977         77        109        556
-/+ buffers/cache:        299       3644
Swap:            0          0          0

My application executes in 0.023s and uses 225KB of memory on average of 1000 requests.

If any more information is needed I will provide.

Answer

I wouldn’t do this, but the reasons have nothing to do with capacity. In a server, I like to have a lot of uptime. This means you need things like redundant power supplies and RAID arrays or a SAN, and ECC RAM. It’s rather nice to have some monitoring, too, using something like IPMI.

This is why servers are usually more expensive than home desktops for a similar amount of processing power, but also why they don’t crash often and are immune to many component failures.

As far as connections go, calculating this is kind of futile since all kinds of unforeseen factors tend to influence what the server is doing, and as the software changes, so will the performance characteristics. Depending on the application, the bottleneck for performance might be anywhere (CPU, disk access, disk seek, RAM, network, bus speeds…), and that might even depend on the type and amount of data stored and queries processed. The best thing to do in any case is to benchmark, and use that to determine the bottlenecks, scaling, and ratio of bottleneck performance to requests.

Attribution
Source : Link , Question Author : php_nub_qq , Answer Author : Falcon Momot

Leave a Comment