A
A
Alexander2017-11-13 17:23:52
Java
Alexander, 2017-11-13 17:23:52

How can you simulate the work of 10,000 users in an application?

Hello.
There is a very complex MLM (network marketing) application (Django, RabbitMQ, Celery, PostgresQL). The task was to check the operation of all systems as a whole at a distance of 10,000 users and 2 months. (The application counts: points, bonuses, purchases, sales, statuses, levels and a lot of different garbage + different bonuses are awarded with different time cycles, from 1 to 30 days)
Please tell me at least where to start and where to move

Answer the question

In order to leave comments, you need to log in

5 answer(s)
A
apomelov, 2019-08-21
@IZek123

In java, at the top level, files are always declared a class. Judging by the error, it happened on the first line, that is, this System.out is simply written in a file. You can not do it this way. Instructions are written in methods, methods in classes. A method with a special signature (public static void main(String[])) can serve as the entry point of a program.
Write exactly what files are and what their contents are, I will comment

E
Elmo Sputterspark, 2019-08-21
@Sputterspark

Read any textbook. At least for dummies.

A
azShoo, 2017-11-13
@azShoo

Here you need to understand what exactly you want to check.
If we are talking about how the site can withstand the parallel work of 10 thousand users, you need load testing tools (google Load & Performance testing tools and go ahead).
If we are talking about how the site works on large amounts of data (conditionally - display a list of 10k orders instead of 10 pieces) -> you need to dig in the direction of data seeding and their generation in general, because. in fact, you do not need "user actions", but only the data in the database (ie, artifacts of these actions).
If we are talking about data lifetime, then it is more difficult. You can generate data supposedly created 2 months ago (conditionally replacing all the necessary timestamps with the necessary ones), but this will not show the problem in any way. The main reason for bugs in "old" data is that the application, model and data structure change over time, which makes the data created 2 months ago not completely correct from the point of view of the current system (if backwards compatibility was broken during the changes).
Only the following can help here:
a) roll out a piece of the old dump and check on it.
b) generate test data in the old version of the application and inject them into the base of the new version.
c) use a dump from the sale, where this old data has already been generated by users.

A
Andrey, 2017-11-13
@andreypaa

Fill in the database for 10,000 fake users and the same amount of data corresponding to them, approximately of course.
Next, estimate how many users will be online at the same time, for example 100.
Write a bot that emulates user activity and run 100 such bots in parallel.
And check the load on these bots. Something like this.
All this should be done in the test database, respectively.

D
Danil Biryukov-Romanov, 2017-11-13
@urtow

jmeter. He knows how to pull the Http api in the right amount.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question