views:

42

answers:

1

Im currently developing an API, and one thing that I decided was to have one gateway.cfm page that the client sends the request to with a sig for verification and etc, and the gateway processes the request and sends the result back by invoking the components needed.

For example gateway.cfm?component=getBooks&sig=232345343 will call the getbooks component and return the JSON.

Ignoring any security issues, will this api suffer and performance since all the requests are going to one page? Or does this not matter to the web server whether all the requests go to the same page or not.

Also this will be secured by SSL too.

A: 

It does not matter for the server if all requests go to one page or to different pages. At least, not for the common webservers (e.g. Apache/IIS).

A webserver has a threadpool, each request gets a thread assigned, each thread performs its work and finishes. However, there is one detail. On a lower level, the threads that process the request all read the same binary/text (dont know if cfm is compiled/interpreted) so for a very short period of time the file is possibly locked for reading. That may introduce a penalty if the number of requests are enormous. You can only find out if this is really a performance bottleneck by benchmarking and testing.

But i think that doing the SSL handshake will kill performance much sooner as the reading lock.

Henri
Well In coldfusion there is a setting to increase the max page requests before there is a que. As for the SSL handshake,I was thinking about only accessing https when credit card details/user registeration needs to be sent.
Faisal Abid