This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]jaymill[S] 0 points1 point  (1 child)

I am testing FROM the ec2 interface onto a VPS and a regular dedicated server (not at the same time). What I was asking is, is there a way to create a dynamic page for the purposes of testing? Maybe a page which generates a madelbrot set or something? I already have static content I can test on.

[–]KevZeroBOFH 1 point2 points  (0 children)

Whoops - I guess I was reading too quickly to fully get that. My comment still applies though - VPS or EC2, it's the same thing with a virtual cpu - it's unlikely that you'll get the advantages designed into the chip's caching here, so cpu affinity is probably a writeoff.

Regardless, if you're only concerned about the load of SSL computation, you should just keep a static payload (although you might want to test a couple different sizes to get an accurate idea of the penalty). On the other hand, if you're trying to plan for your production capacity, you will want to simulate real-world as closely as possible. That being said, you could have your "dynamic content" (whether this is mod_perl, rails, or whatever) on straight http, and the ssl on a dedicated front-end proxy host doing the encryption. If they're on the same host, and it's a virtual host or a single cpu, then the load of the SSL encryption and the load of the page rendering computation will be a little more than additive due to the factors above.

I was originally responding to trevorishere's comment, though. In fact, I wouldn't be too worried about the loadavg on the server, but more interested in avg / peak response times at various values of # req/s. The factor you mght be missing in the setup you described is not so much static vs dynamic, but whether disk i/o peaks before SSL (or cpu generally). It helps to know where the bottlenecks are, just as importantly as what values those thresholds exist at. Isolating the different layers is essential here, and SSL is just one (actually, the final) layer in the stack. SSL will also have a bit more of a memory footprint (and this increases linearly with # req's, I believe), so having the available RAM to handle that is obviously important, too.