What are threads, how do they work, and how do we count them?
Threads are the number of simultaneous connections to the proxy.
Imagine a task — we need to send requests to 100 different sites. Let’s say that each request is executed in exactly 10 seconds. If we execute requests in one thread, then it will take almost 17 minutes. If we make these requests in parallel, for example, in 100 threads, we will get the result in 10 seconds. Since all requests will be executed in parallel.
To give an example from life, flows can be compared to a road with several lanes and cars. Where the lanes on the road are the streams available to us that we can use for our purposes. And cars, these are our requests. Agree that on a road with 10 lanes, more cars will be able to pass at the same time as on a road with 2 lanes, for example. And just like on the road, some queries may be slower and some faster, it depends on many factors. But, it is important to understand that if the web resource being accessed is slow, then the proxy will not be able to process this request faster.
The number of threads in the software and the actual number of threads, is it the same thing?
Unfortunately, this is not always the case.
The number of threads in the software is usually a value that characterizes how many tasks we will perform in parallel. For example, your software makes 3 requests per iteration:
1) Checks for a free nickname for the user
2) Registers a new user
3) Updates the profile of this user
Thus, it will be at least 3 requests, and if you set 300 threads in such software, for example, as a result of work, you will get a load on the proxy service of ~ 600-900 simultaneous requests (depending on how the software is written).
An even simpler example is our browsers. When we open any page on the Internet, this is not 1 request. Since each individual picture is a separate request for the browser. Thus, even a seemingly simple site can require up to 100 requests to download all of its content.
You can see for yourself using the developer mode for the browser. For example, for Chrome, this is a combination (Ctrl + Shift + I), after going to the “Network / Networking” tab, make sure that the site being loaded uses more than one request.
On the example of our site fosy.club, this indicator is as follows:
58 requests | 20.3 kB transferred |2.2 MB resources
That is 58 requests to load a seemingly simple site.
How do you determine how many simultaneous requests the software uses?
Unfortunately, this task is rather non-trivial and requires some technical skills. Usually, proxy services have similar statistics in their control panel. Based on this data, you can determine how much software uses simultaneous connections.
At the moment, you can check the real load on the proxy through a special page fosy.club:
Why might proxies not work or work intermittently?
The reason for this may be just the excess of the number of flows available in the tariff.
It is also worth making sure that your Internet is working properly, if possible, you can switch from Wi-Fi to cable, this will save time that the signal “flies” through the air and speed up your software.