Painfully slow webserver wanted! [modified]
-
And yes, digital man[^] I have googled. I'm writing some code that will import a file from a given URL - but I want it to be able to handle horrible network conditions gracefully. Failing connections, slow connections etc. So, I'm after some webserver that I can throttle down to abysmal performance, preferably runnable locally. Any ideas? I can't imagine I'm the first one to want this... Iain. ps. I suppose this is a program related question, but it's about testing, not programming, so I'm dodging the laws! Ner! [Modification: I was more after a server I could run myself, and serve given files slowly, than examples of painful servers in the wild - though those will do in a pinch!]
I am one of "those foreigners coming over here and stealing our jobs". Yay me!
modified on Friday, March 11, 2011 4:54 AM
Just an idea (that probably surely for sure is not the best one). Could you make a small program using a
for(;;){sleep(x);}
and then start it in your server? You will be able to stress more or less your computer giving more or less time in that sleep call... You could also use a virtual machine and prepare it to run slower than usual (assigning less memory...) and launching that supa-dupa-program there... HTH! :thumbsup:[www.tamelectromecanica.com] Robots, CNC and PLC machines for grinding and polishing.
-
Try querying something from the Indian Railways website. You won't get anything slower than that.
"Real men drive manual transmission" - Rajesh.
The fun really starts when you select a train and try reserving the tickets. It sometimes takes up to 3 attempts to get the credit card processed and get the ticket issued.
-
And yes, digital man[^] I have googled. I'm writing some code that will import a file from a given URL - but I want it to be able to handle horrible network conditions gracefully. Failing connections, slow connections etc. So, I'm after some webserver that I can throttle down to abysmal performance, preferably runnable locally. Any ideas? I can't imagine I'm the first one to want this... Iain. ps. I suppose this is a program related question, but it's about testing, not programming, so I'm dodging the laws! Ner! [Modification: I was more after a server I could run myself, and serve given files slowly, than examples of painful servers in the wild - though those will do in a pinch!]
I am one of "those foreigners coming over here and stealing our jobs". Yay me!
modified on Friday, March 11, 2011 4:54 AM
I would image there are a few ways to achieve this; 1) Load software like folding@home and run it on your CPU (and GPU if required), adjust its priority, this will load up the CPU (/GPU). 2) Write a small multithreaded app to do various amount of things by using heaps of threads, the different threads could do diffrerent things, e.g. write random data to the disk, read random data, constant disk directory, write data out to the network etc, take large amounts of data into memory to force the system to starting disk paging. You could then vary the ammount of threads doing each of the different tasks to then vary the load on the various subsystems.
Dave Find Me On: Web|Facebook|Twitter|LinkedIn
Folding Stats: Team CodeProject
-
And yes, digital man[^] I have googled. I'm writing some code that will import a file from a given URL - but I want it to be able to handle horrible network conditions gracefully. Failing connections, slow connections etc. So, I'm after some webserver that I can throttle down to abysmal performance, preferably runnable locally. Any ideas? I can't imagine I'm the first one to want this... Iain. ps. I suppose this is a program related question, but it's about testing, not programming, so I'm dodging the laws! Ner! [Modification: I was more after a server I could run myself, and serve given files slowly, than examples of painful servers in the wild - though those will do in a pinch!]
I am one of "those foreigners coming over here and stealing our jobs". Yay me!
modified on Friday, March 11, 2011 4:54 AM
-
The fun really starts when you select a train and try reserving the tickets. It sometimes takes up to 3 attempts to get the credit card processed and get the ticket issued.
And there are those times when you actually get to the payment page, but the tickets are gone by then. :)
"Real men drive manual transmission" - Rajesh.
-
Try querying something from the Indian Railways website. You won't get anything slower than that.
"Real men drive manual transmission" - Rajesh.
Except, possibly, the trains.
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.” I wouldn't let CG touch my Abacus! When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.
-
Except, possibly, the trains.
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.” I wouldn't let CG touch my Abacus! When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.
Usually, yes. But I won't bet my money on that.
"Real men drive manual transmission" - Rajesh.
-
And yes, digital man[^] I have googled. I'm writing some code that will import a file from a given URL - but I want it to be able to handle horrible network conditions gracefully. Failing connections, slow connections etc. So, I'm after some webserver that I can throttle down to abysmal performance, preferably runnable locally. Any ideas? I can't imagine I'm the first one to want this... Iain. ps. I suppose this is a program related question, but it's about testing, not programming, so I'm dodging the laws! Ner! [Modification: I was more after a server I could run myself, and serve given files slowly, than examples of painful servers in the wild - though those will do in a pinch!]
I am one of "those foreigners coming over here and stealing our jobs". Yay me!
modified on Friday, March 11, 2011 4:54 AM
Why don't you just setup your own web server that you can cripple at will?
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997 -
Why don't you just setup your own web server that you can cripple at will?
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997That was my plan too... But I wanted one that had a "throttle outgoing connections down to some ludicrously slow value", if possible! Iain.
I am one of "those foreigners coming over here and stealing our jobs". Yay me!
-
That was my plan too... But I wanted one that had a "throttle outgoing connections down to some ludicrously slow value", if possible! Iain.
I am one of "those foreigners coming over here and stealing our jobs". Yay me!
You could easily write a small proxy in C#/.Net. Clients connect to some port, and the proxy then connects to webserver. The proxy then transfer data back and forth. It would be relatively easy to manipulate the data flow. :)
-- Kein Mitleid Für Die Mehrheit
-
And yes, digital man[^] I have googled. I'm writing some code that will import a file from a given URL - but I want it to be able to handle horrible network conditions gracefully. Failing connections, slow connections etc. So, I'm after some webserver that I can throttle down to abysmal performance, preferably runnable locally. Any ideas? I can't imagine I'm the first one to want this... Iain. ps. I suppose this is a program related question, but it's about testing, not programming, so I'm dodging the laws! Ner! [Modification: I was more after a server I could run myself, and serve given files slowly, than examples of painful servers in the wild - though those will do in a pinch!]
I am one of "those foreigners coming over here and stealing our jobs". Yay me!
modified on Friday, March 11, 2011 4:54 AM
I use software like NetLimiter[^]. It's a very flexible tool that allows you to selectively shape bandwidth usage per application, per adapter, or any other number of options I'm sure they've added over the years. So I would: 1) Set up a VM with a any old web server. 2) Installet NetLimiter on either the client or the server to throttle the network to emulate poor connections. If it doesn't do response time delays as well, I'm sure there would be a similar tool that does.
-
And yes, digital man[^] I have googled. I'm writing some code that will import a file from a given URL - but I want it to be able to handle horrible network conditions gracefully. Failing connections, slow connections etc. So, I'm after some webserver that I can throttle down to abysmal performance, preferably runnable locally. Any ideas? I can't imagine I'm the first one to want this... Iain. ps. I suppose this is a program related question, but it's about testing, not programming, so I'm dodging the laws! Ner! [Modification: I was more after a server I could run myself, and serve given files slowly, than examples of painful servers in the wild - though those will do in a pinch!]
I am one of "those foreigners coming over here and stealing our jobs". Yay me!
modified on Friday, March 11, 2011 4:54 AM
build your own web server, it is pretty simple. Sample HTTP Server Skeleton in C#[^] is a very good starting point. :)
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
-
I use software like NetLimiter[^]. It's a very flexible tool that allows you to selectively shape bandwidth usage per application, per adapter, or any other number of options I'm sure they've added over the years. So I would: 1) Set up a VM with a any old web server. 2) Installet NetLimiter on either the client or the server to throttle the network to emulate poor connections. If it doesn't do response time delays as well, I'm sure there would be a similar tool that does.
This looks pretty perfect to me! Thanks Phil, Iain.
I am one of "those foreigners coming over here and stealing our jobs". Yay me!
-
build your own web server, it is pretty simple. Sample HTTP Server Skeleton in C#[^] is a very good starting point. :)
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
I think this maaaaaay be a little over the top! I have written a pop3 server a while ago, in C, as a challenge. I think I won't repeat it again! Iain.
I am one of "those foreigners coming over here and stealing our jobs". Yay me!
-
And yes, digital man[^] I have googled. I'm writing some code that will import a file from a given URL - but I want it to be able to handle horrible network conditions gracefully. Failing connections, slow connections etc. So, I'm after some webserver that I can throttle down to abysmal performance, preferably runnable locally. Any ideas? I can't imagine I'm the first one to want this... Iain. ps. I suppose this is a program related question, but it's about testing, not programming, so I'm dodging the laws! Ner! [Modification: I was more after a server I could run myself, and serve given files slowly, than examples of painful servers in the wild - though those will do in a pinch!]
I am one of "those foreigners coming over here and stealing our jobs". Yay me!
modified on Friday, March 11, 2011 4:54 AM
Maybe try a null modem serial connection from client to web server. Then you can set the connection speed.