I am dealing with a scenario that handles 2000 requests per second with a processing time of 100ms. Is Websphere(or any appserver for that matter) capable of handling such a load. I have done some homework regarding this and to my knowledge webservers are capable of handling only 150-200 requests per second. Other subsequent requests get blocked and leads to drastic degradation in the performance. Also there are IO exceptions being thrown at the client side I have an E250 Sun Solaris machine with 2 processors each of 400MHz and 2GB RAM. Would be needing some inputs as to how to cater such a load. Looking for IBM solutions specifically but in case there are any other solutions to this, it would great help. Do I have to go for server farming???
mail me @ firstname.lastname@example.org<br />Websphere 4.0 Certified Administrator<br />BEA Weblogic 5.1 Certified Developer<br />Sun Certified Java Programmer
Hi I would like to know if these 2000 requests are going to hit the database. If so what kind of operations do they do. Only Read Only Write Read /Write Are there huge number of Transactions. We have implemented methods that cache most of the read only data in memory which is updated once a day so that there are no significant database hits.
Joined: Nov 12, 2001
Hi Rahul, We are not doing database hits for these 2000 requests. for that, we are planning to implement a caching strategy. but the basic problem is that the webserver is not able to accept requests to the tune of 2000 per sec. There are a lot of websites that claim such a figure but i am not pretty sure whether this figure is applicable to my scenario. wud need an opinion from your side. tks
Hi, Surely, if a webserver can handle up to 200 request per second, then the answer would be to have multiple webservers? You could then have a load balancer in front of them to manage the requests with a particular algorithm - for instance Round Robin. Alternatively, if you are using Apache as you webserver then by default it has a limit on 256 concurrent connections. This is a compiled in constant that you can change but you will need to recompile Apache to allow it. The major down side I can see with this approach is that the number of requests you can handle will then be limited by the performance and specification of the machine. Additionally, this second approach would not provide any failover. You could of course provide a combination of the two approaches so that the servers that are hosting the Webservers are working to their capacity when processing the maximum requests that the webserver allows. Bear in mind that increasing the capacity of your webservers will move the bottleneck further down the chain. If you are using WAS then you will need to reconfigure the system queues (as mentioned in the websphere Tuning guides) and will most likely require a server group to increase capacity. I hope this helps, Cheers, Steve
Hi Paresh, i don't think so single webserver will able to handle this scenario.In this case better do horizontal cluster(web and application server both).See single web server can't bear so much load on it,what ever is your hardware configuration,putting single server will have it's own limitations. I will suggest better go for horizontal and vertical clustering.
Joined: Nov 12, 2001
i guess that leaves me with no other opton but to go for load balancing(which effectively means better hardware, edge server, routers etc). I was also thinking abt the option of plain socket programming. under a study that i have conducted out here on solaris box, i have pounded my server program with approx 500 requests per second and each request effectively opens a new socket. but the server opens only 100 sockets per second which again puts me in a loop.i have also tuned certain parameters on unix(tcp_conn_req_max_q set to 1024, tcp_conn_req_max_q0 10240 ,tcp_time_wait_interval 60000). got this info from some web sites for optimal performance related to sockets.. :roll: can C instead of Java cater to such an issue.... or can Java handle them but in a different way ....need some inputs!!!
Paresh, As you surmised, the answer is load balancing. One server can't handle that kind of load -- that's ludicrous. However, 10 servers of roughly the size you describe could handle it easily. If you put an IP Sprayer (IBM's Edge Server, or BigIP or Cisco's Local Director) out in front, then you should have no problem. Kyle
Hello! We are using netscape enterprise server anybody knows .. how much will be maximum number of concurrent requests netscape enterprise server can handle? i.e. 200 300.. I need to know the app number.
at my last job we had BigIP in front of 4 E450's webservers running iPlanet. Very successful. As the other posts state, you will proabably need more than 4 boxes 10xE250's? (or IBM equiv). SImon
Joined: Mar 12, 2002
I have E420 and Netscape enterprise server 3.6.3 no loadbalancers right now and I want to know how many concurrent requests my webserver can take as a maximum? Thanks in advance Ram
Joined: Aug 10, 2001
I can't tell you that. No one can tell you that. If someone has told you they could tell you that, then they are lying. You can never work out more than a rough rule of thumb for a generic application (like ECPERF or Trade2). The ONLY way that you can find out how many requests your network will handle is to do a test. That is because requests are different and applications are different -- you must test YOUR application in a network approximating the one that will be used in production with a load test tool. Kyle