Jump to content

How many bots can you run per GB of ram? / cpu


spodermon1

Recommended Posts

tried searching on the forum, didn't find anything. So whats a good rough guide to go by?

found some posts back from 2011 on google stating 512mb ram per bot, but i assume botting has become more efficient since then.

 

would you say 512mb per bot is still an accurate guide to go by?

Edited by spodermon1
Link to comment
Share on other sites

18 minutes ago, Vap0r said:

If  you use servers, (Or if you have really fast SSD or M.2) you can use swap ram which then as void says the only thing that would bottle neck is the CPU

This is most definitely a no-go. Even if you use SSDs as as swap, you will run into severe performance issues.

Even RAM itself is not fast enough for modern day computers, which is why we have on-die memory for CPUs (L1, L2, L3 cache). You will need a more powerful CPU as well and need to scale your on-die memory. If I recall correctly, to fetch a line from RAM (a cache miss) costs around 300 - 1000 cycles. If you're at a point where you're swapping for a game that relies heavily on real-time software rendering, you're going to have a bad time

Edited by Zapako
Link to comment
Share on other sites

1 hour ago, Zapako said:

This is most definitely a no-go. Even if you use SSDs as as swap, you will run into severe performance issues.

Even RAM itself is not fast enough for modern day computers, which is why we have on-die memory for CPUs (L1, L2, L3 cache). You will need a more powerful CPU as well and need to scale your on-die memory. If I recall correctly, to fetch a line from RAM (a cache miss) costs around 300 - 1000 cycles. If you're at a point where you're swapping for a game that relies heavily on real-time software rendering, you're going to have a bad time

I use cached ssd's on my server, about 50 GB of swap per server, it works perfectly stable for 55 bots +
On my personal computer I used m.2 20GB worth to use as swap in a RHEL environment and it works perfectly fine, but M.2 is the best option as its the same speeds as RAM virtually.

Link to comment
Share on other sites

23 minutes ago, Vap0r said:

I use cached ssd's on my server, about 50 GB of swap per server, it works perfectly stable for 55 bots +
On my personal computer I used m.2 20GB worth to use as swap in a RHEL environment and it works perfectly fine, but M.2 is the best option as its the same speeds as RAM virtually.

A system will not swap unless there is no RAM left. If you're running Linux, you should check htop to see memory usage and swap usage. Swap acts as a last resort. Also, bear in mind that virtual memory and physical memory are two different values

Bandwidth and latency are two completely different things. Bandwidth is how much data can be transferred over a given interval. Latency is how fast X amount of data is transferred. You may have an SSD that has bandwidth similar to RAM, but you don't have arbitrary read and write along with low latency fetches and writes. The block size for most SSDs/HDDs is fairly large. For example, to write one byte to a disk, if the block size was 8kb, you would actually have to rewrite the whole section (8kb write)

When you're running 55 bots, check your RAM and SWP usage, I can guarantee you the system isn't swapping - if it is, processes start getting killed and the kernel starts going crazy trying to reclaim memory.

Also, even the 960 Pro has about 6x less bandwidth than even mid-tier DDR3 RAM

Source: I deal with these kinds of hardware limitations for a living

Edited by Zapako
Link to comment
Share on other sites

20 minutes ago, Zapako said:

A system will not swap unless there is no RAM left. If you're running Linux, you should check htop to see memory usage and swap usage. Swap acts as a last resort. Also, bear in mind that virtual memory and physical memory are two different values

Bandwidth and latency are two completely different things. Bandwidth is how much data can be transferred over a given interval. Latency is how fast X amount of data is transferred. You may have an SSD that has bandwidth similar to RAM, but you don't have arbitrary read and write along with low latency fetches and writes. The block size for most SSDs/HDDs is fairly large. For example, to write one byte to a disk, if the block size was 8kb, you would actually have to rewrite the whole section (8kb write)

When you're running 55 bots, check your RAM and SWP usage, I can guarantee you the system isn't swapping - if it is, processes start getting killed and the kernel starts going crazy trying to reclaim memory.

Also, even the 960 Pro has about 6x less bandwidth than even mid-tier DDR3 RAM

Source: I deal with these kinds of hardware limitations for a living

Without using swap ram on #1. the server to run bots, I can't use above ~25 bots #2 The server which my database on would not be able the amount of information if we did not have swap ram. So yes my system is using all of its allocated virtual ram + the swap ram

Source: I set up these servers, and my company's RHEL environment uses swap as well to power a mySQL database.

Link to comment
Share on other sites

13 minutes ago, Vap0r said:

Without using swap ram on #1. the server to run bots, I can't use above ~25 bots #2 The server which my database on would not be able the amount of information if we did not have swap ram. So yes my system is using all of its allocated virtual ram + the swap ram

Source: I set up these servers, and my company's RHEL environment uses swap as well to power a mySQL database.

I'm not going to try to argue with someone who thought that m.2 was even remotely as fast as RAM any further, but I will leave this here: 

The use-case for allowing a database server to swap is very limited. If entries in a DB do not fit in RAM, they are kept on the disk anyway. By using swap, you're just adding an additional layer of complexity for no reason, as swap space lives on the disk anyway.

Dealing with a swapping server is extremely frustrating as it typically becomes too slow to even remotely administrate, and requires remote hands to go in and physically reboot the server. Furthermore, by using swap space, the kernel is working that much harder trying to find some available memory on the RAM device.

You're either bullshitting, or don't know what you're talking about.

Read first answer here

https://serverfault.com/questions/578896/is-there-any-reason-to-not-have-a-swap-file-on-centos-digitalocean

One of the reasons not to use swap, according to the link, would be...

You have a specific performance requirement that means you cannot allow your program to use swap for processing as it is significantly slower than memory, so rather than use swap, you choose to monitor memory usage closely and increase memory as needed.

Or any of the other myriad resources detailing it

 

Anyway, I won't be responding to this any further. You can either learn from this free advice (normally I charge a consulting fee!) or stick your head in the sand

Edited by Zapako
Link to comment
Share on other sites

5 minutes ago, Zapako said:

I'm not going to try to argue with someone who thought that m.2 was even remotely as fast as RAM any further, but I will leave this here: 

The use-case for allowing a database server to swap is very limited. If entries in a DB do not fit in RAM, they are kept on the disk anyway. By using swap, you're just adding an additional layer of complexity for no reason, as swap space lives on the disk anyway.

Dealing with a swapping server is extremely frustrating as it typically becomes too slow to even remotely administrate, and requires remote hands to go in and physically reboot the server. Furthermore, by using swap space, the kernel is working that much harder trying to find some available memory on the RAM device.

You're either bullshitting, or don't know what you're talking about.

Read first answer here

https://serverfault.com/questions/578896/is-there-any-reason-to-not-have-a-swap-file-on-centos-digitalocean

One of the reasons not to use swap, according to the link, would be...

You have a specific performance requirement that means you cannot allow your program to use swap for processing as it is significantly slower than memory, so rather than use swap, you choose to monitor memory usage closely and increase memory as needed.

Or any of the other myriad resources detailing it

Weird, I have been running 11 servers now for my farm using swap and no maintenance is ever needed on the server itself, just the scripts.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...