-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Slowness when uploading large amount of files #3199
Comments
Thanks for opening an issue. A couple of questions:
|
Number of files is 44,989. |
How is the CPU usage while Nicotine hangs? Does it hang no matter what part of the application you use? Does limiting the upload speed in Nicotine help? |
Another thing I forgot to ask: do you have any plugins installed/activated? I remember someone mentioning that the more-upload-stats plugin was causing slowdown issues. |
Cpu for nicotine goes up to 20-29%, but overall cpu usage is still below 40%. Freezing seems to be random, happens in search, uploads, downloads. Speed for that user isn't anything crazy, have had other sessions with multiple users downloading much greater speed. I run nicotine through my VPN, getting about 47Mbps while my actual connection is 1000Mbps. 0 plugins installed |
N process only uses a single core, the i3-13100 is 4-core and Windows Task Manager shows aggregated figures, so 25% CPU usage is maxing out the available resources which is when freezing will happen, probably during iterating through 44,989 items while updating the transferring list item. However this should only occur while the Uploads tab is active, since the list shouldn't update when another tab is active. So, the freezing must be happening somewhere in the core, such as here: nicotine-plus/pynicotine/uploads.py Lines 204 to 205 in 8e12c76
nicotine-plus/pynicotine/search.py Line 758 in 8e12c76
@jimmybreeze Could you try turning Off the following option and let us know if the problem disappears or not?... |
Enabled, will report back.
…On Fri, Nov 22, 2024, 10:32 AM slook ***@***.***> wrote:
N process only uses a single core, the i3-13100 is 4-core and Windows
Task Manager shows aggregated figures, so 25% CPU usage is maxing out the
available resources which is when freezing will happen, probably during
iterating through 44,989 items while updating the transferring list item.
However this should only occur while the Uploads tab is active, since the
list shouldn't update when another tab is active.
So, the freezing must be happening somewhere in the core, such as here:
https://github.com/nicotine-plus/nicotine-plus/blob/8e12c764af7cd408d5c192ebad5b8e7692869fe0/pynicotine/uploads.py#L204-L205
https://github.com/nicotine-plus/nicotine-plus/blob/8e12c764af7cd408d5c192ebad5b8e7692869fe0/pynicotine/search.py#L758
@jimmybreeze <https://github.com/jimmybreeze> Could you try turning Off
the following option and let us know if the problem disappears or not?...
Preferences > Searches > "*Respond to search requests from other users*"
> Off
—
Reply to this email directly, view it on GitHub
<#3199 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJL7VF62NBRRYPQCYBC4RKT2B5MAXAVCNFSM6AAAAABSFD3ZUWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJUGEYTOMRWGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Or disabled, I mean.
On Fri, Nov 22, 2024, 11:15 AM Josh Novotny ***@***.***>
wrote:
… Enabled, will report back.
On Fri, Nov 22, 2024, 10:32 AM slook ***@***.***> wrote:
> N process only uses a single core, the i3-13100 is 4-core and Windows
> Task Manager shows aggregated figures, so 25% CPU usage is maxing out the
> available resources which is when freezing will happen, probably during
> iterating through 44,989 items while updating the transferring list item.
>
> However this should only occur while the Uploads tab is active, since the
> list shouldn't update when another tab is active.
>
> So, the freezing must be happening somewhere in the core, such as here:
>
> https://github.com/nicotine-plus/nicotine-plus/blob/8e12c764af7cd408d5c192ebad5b8e7692869fe0/pynicotine/uploads.py#L204-L205
>
>
> https://github.com/nicotine-plus/nicotine-plus/blob/8e12c764af7cd408d5c192ebad5b8e7692869fe0/pynicotine/search.py#L758
>
> @jimmybreeze <https://github.com/jimmybreeze> Could you try turning Off
> the following option and let us know if the problem disappears or not?...
> Preferences > Searches > "*Respond to search requests from other users*"
> > Off
>
> —
> Reply to this email directly, view it on GitHub
> <#3199 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AJL7VF62NBRRYPQCYBC4RKT2B5MAXAVCNFSM6AAAAABSFD3ZUWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJUGEYTOMRWGA>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
|
After disabling that, it did freeze a few times still. Currently down to 27k files and has seemed to stop freezing at this point. Can close if need be, unless any ideas on how to improve performance on huge upload lists can be thought of. |
Leave this issue open. At some point we'll do some profiling to identify where the sticking points are. My theory for one potential hang up is that when the client serves search results to a privileged user, it is needed to iterate through all the items of all the users that are in the uploads list to calculate their Queue position for each returned result item, because this value isn't readily available and isn't cached like it is for the ordinary (non-privileged) Queue (which is simply the total number of queued uploads). |
I think it's more likely the queue position request for each queued upload is causing problems. 45k requests at once from a single user is quite a lot of work. Relevant code: nicotine-plus/pynicotine/uploads.py Lines 1158 to 1203 in 892e7c4
|
@jimmybreeze What is your "Upload queue type" preference set to, is it "Round robin" or "First In, First Out"? |
Round robin
…On Wed, Nov 27, 2024 at 9:47 AM slook ***@***.***> wrote:
@jimmybreeze <https://github.com/jimmybreeze> What is your "Upload queue
type" preference set to, is it "Round robin" or "First In, First Out"?
—
Reply to this email directly, view it on GitHub
<#3199 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJL7VF4PWWK3ZT3EMSWQOQT2CXSSDAVCNFSM6AAAAABSFD3ZUWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBUGIYDSNRTGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Nicotine version: 3.3.6
Operating System/Distribution: Windows 11
Describe the bug
I have a user downloading a large amount of files, around 900GB . It seems that the client is very slow and freezes constantly when trying to navigate around the app. It also seems to make the entire system slow at times. I'm not sure this is to be expected when someone is downloading that much, but wanted to just report this.
Specs of server shouldn't be a concern:
i3-13100
32GB RAM
Files and software on NVME SSD, plenty of space
Expected behavior
The program to not freeze and cause the system to hang
Steps to reproduce the bug
Have someone download a lot of files and see if it freezes
Additional context
Let me know if I need to get any logs.
The text was updated successfully, but these errors were encountered: