-6

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.

php_nub_qq
  • 379
  • 3
  • 9
  • 3
    Typically people benchmark, rather than calculate, the upper limits a certain configuration will achieve and to verify the effectiveness of tuning. – HBruijn Aug 29 '15 at 07:50
  • Your bandwidth calculation is assuming you want to provide the response in one second out of your server. That might be the case for some reason, but it's an arbitrary number, not a general way of calculating how much you can handle. But as has been mentioned, benchmark. It's the only way to know. – Sami Kuhmonen Aug 29 '15 at 08:31

2 Answers2

2

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.

Falcon Momot
  • 24,975
  • 13
  • 61
  • 92
0

You are totally right that typical desktop has more than enough performance to work as a server, at least for a single website or project with the popularity not like Google.

However I would not recommend this idea as the performance is not everything.

A desktop machine has a wrong form factor. It cannot be placed on a server rack efficiently. You cannot easily bring it into server center. Even if the center would accept it, this may be very expensive as they could put at least four servers in place of it (4 He). It may be problems of reliability or even fire safety as well, as desktops are not designed for continuous operation in mind.

From the other side, to be honest, I have seen old desktops running as internal servers in a company environment. This happens if the company has a significant fire safe space (like huge concrete cellar) available as a local server room. These machines were running intranet wikis, local SCM, development databases and things the like. In case of failure, the administrator usually was able to setup a new machine in a couple of hours. This was fully acceptable as only happened several times in a few years.

h22
  • 234
  • 2
  • 9