I have always asked for LEB KVM providers to provide me thier magic formula for making money.
MAGIC!Keywords make a profit. I am not doing this to just break even. I need to make profit. I have always asked for LEB KVM providers to provide me thier magic formula for making money.
Eh I look at profit margins different because I own the equipment. You end up spending a buttload more renting than owningJust priced out a rented server.
2x E5620 (16 threads)
4 x 1tb disks
32gb ram
1gb uplink
30tb bandwidth
30 ip's
$416.30 for that server.
+1 extra ip $1.50
need extra ip as need one for the server itself.
alone each of the containers in KVM would have to be $13.92 on this machine right now.
Putting 30 vps on raid 10 on 4 disks? not even gonna start with the low i/o I expect from this machine.
Just don't see it.
I can't exactly tell you the details of my colo pricing, but it's nowhere near that badStill @SkylarM, still even at $7.00 a month for a 1gb kvm with your 36 gb ram leaving 2gb for your hostnode.
that is 238.00 a month
lets figure $0.83 per ip address = 28.22
so now were down to 209.78 a month
$10.00 for solusvm slave license = 199.78
cost of rack space $75 = 124.78
now that is just what is brought in monthly. What about cost of hardware? assume this comes with 36gb memory. Other wise it becomes more bleek
http://www.ebay.com/itm/HP-DL160-G6-Quad-Core-2-26GHz-4GB-4x-1-TB-Server-1U-NEW-/350364852451?pt=COMP_EN_Servers&hash=item51935f60e3
$2299.00 so lets spread that out over 24 months that is $95.79 per month
Leaving $28.99 a month
Just not seeing where the profit is really at. That wouldn't even pay for me to eat.
I saw those the other nightI can't exactly tell you the details of my colo pricing, but it's nowhere near that badhardware prices nowhere near that either. I got a bunch of 1u Dual Xeons for $600 including disks. As far as KVM, it's introductory only. I won't be offering KVM at that rate for long, more to see movement in the area before going more full scale.
Here ya go! Have a lot of fun:Excellent idea. I'm thinking of also writing a small daemon for "reserving" all that memory that you bought but don't use.
/*
* memwaste - a non-deterministic memory waster
* Public domain. Absolutely no warranty.
*/
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/queue.h>
#ifndef PAGESIZE
# define PAGESIZE 4096
#endif
#define KB (size_t)(1024)
#define MB (size_t)(1024 * KB)
#define UPPERBOUND (size_t)(4096 * MB)
struct page {
void *base;
time_t allocat;
size_t length;
LIST_ENTRY(page) entries;
};
LIST_HEAD(pagehead, page) pages;
time_t currtime;
size_t total_alloc;
struct page *
page_alloc(void)
{
struct page *out = calloc(sizeof(*out), 1);
unsigned char *it, *base;
out->allocat = currtime;
out->length = (rand() % PAGESIZE) * PAGESIZE;
if ((size_t)(out->length + total_alloc) > (size_t) UPPERBOUND)
{
free(out);
return NULL;
}
out->base = mmap(NULL, out->length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
/* couldn't map the page, try again later once a GC run happens */
if (out->base == ((void *) -1))
{
free(out);
return NULL;
}
/* ensure the memory manager actually allocates the pages as RSS by touching
each page. */
for (base = it = out->base; (it - base) < out->length; it += PAGESIZE)
*it = rand() % 255;
/* for extra evilness, we try to ensure these pages cannot be swapped. */
mlock(out->base, out->length);
total_alloc += out->length;
LIST_INSERT_HEAD(&pages, out, entries);
return out;
}
void
page_free(struct page *page)
{
/* unlock and unmap the pages */
munlock(page->base, page->length);
munmap(page->base, page->length);
total_alloc -= page->length;
LIST_REMOVE(page, entries);
free(page);
}
void
page_gc(void)
{
struct page *p1, *p2;
for (p1 = pages.lh_first, p2 = p1 != NULL ? p1->entries.le_next : NULL;
p1 != NULL;
p1 = p2, p2 = p1 != NULL ? p1->entries.le_next : NULL)
{
if (currtime - p1->allocat > 60)
page_free(p1);
}
}
void
page_alloc_many(void)
{
int i;
struct page *page;
for (i = rand() % 30; i > 0; i--)
{
page = page_alloc();
if (page == NULL)
return;
}
}
int
main(int argc, const char *argv[])
{
(void) argc;
(void) argv;
#ifndef DEBUG
daemon(0, 0);
#endif
while (true)
{
currtime = time(NULL);
page_alloc_many();
usleep(500000);
page_gc();
#ifdef DEBUG
fprintf(stderr, "total memory allocated: %zu bytes, upper bound: %zu bytes\n", total_alloc, (size_t) UPPERBOUND);
#endif
}
}
This is not funny. You always leave some free RAM for things like updates.Here ya go! Have a lot of fun:
Your getting ripped off.Just priced out a rented server.
2x E5620 (16 threads)
4 x 1tb disks
32gb ram
1gb uplink
30tb bandwidth
30 ip's
$416.30 for that server.
+1 extra ip $1.50
need extra ip as need one for the server itself.
alone each of the containers in KVM would have to be $13.92 on this machine right now.
Putting 30 vps on raid 10 on 4 disks? not even gonna start with the low i/o I expect from this machine.
Just don't see it.
Why is that who that spec was based on? 'Cos we're not using anything from them@,
1st I wouldn't buy that. 2nd Not going to start with CC/CVPS hardware.