Java High-Volume Transaction Web Application

I have no experience with large transactional websites and recently came across this interesting question. I am interested to know where bottlenecks in a Java web application will occur under high load (thousands of requests per second). If someone can give me a high-level approach to thinking about the next question, that would be great!

The only thing I came up with is to use memcached to cache database queries, but I don’t know how to calculate the amount of time that each query will execute, and therefore how many queries per second the system may be able to handle.

Question: Internet applications must be designed to handle large volumes of transactions. Describe the design for a system that should process an average of 30,000 HTTP requests per second. For each query, the system must search a dictionary of 50 million words using the keyword passed through the URL query string. Each answer will consist of a line containing the definition of the word (100 bytes or less).

Describe the main components of the system and note which components should be customizable and which components third-party applications can use. Include hardware ratings for each component. Please note that the design should include maximum performance with minimal hardware and software costs.

Document the rationale for making estimates.

Describe how the design will change if the definitions are 10 kilobytes each.

+5
source share
2 answers

As a background, you can mark bechmarks, such as specmarks . Compared to your scenario, there is significantly more processing, but you will see that your 30,000 req / sec is a relatively high, but not insanely high, figure.

You can also find Joines et al . (Disclaimer: They are colleagues.)

In your scenario, I would expect in decreasing order of value:

  • Database search
  • Reading and returning requests online.
  • Simple processing

(, -). : , . , Web/App, , , , . , : , 30 . Tps?

: - - . () , , , , ... ?

50 000 000 * (100 + ) ===

64- JVM 64- , , ?

( , , , , ), . , . () 4 , A-F, G-M, N-P, T-Z (, , 4 4 ). .

+2

, , . 170 000 . , . , . 30K 30 , .

, , .

64- JVM . 50 * (100 + ) 10 ( , , ). 12 2500 .

. , , , . , , facebook, , , .

+1

All Articles