-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
System OS
Linux
Python Version
3.10 (CPython)
Install Source
pip / PyPi
Install version / commit hash
v4.2.5
Expected Behavior vs Actual Behavior
The entire download process takes about 350-400 seconds (about 6 minutes) for a single song (this does not change significantly with a different number of threads).
It is a low-end machine, but the CPU utilisation of Spotdl is only 5%, while the whole system uses about 10% of the CPU.
The RAM utilisation is 5 GB out of 8 GB, so it is not critical either.
Is there a problem/ performance issue/ bottleneck on my side or is spotdl not optimised for low-end machines?
Other (normal) programmes such as nginx and Python applications that use Flask, for example, do not run slowly.
The internet connection is fast enough, as it takes around 12 seconds to download a single song on another PC.
Steps to reproduce - Ensure to include actual links!
- Get a low end machine
- execute
spotdl --log-level DEBUG --threads 8 "Test drive" - Wait a long time
Traceback
webserver@webserver:~$ spotdl --log-level DEBUG --threads 8 "Test drive"
[20:39:10] DEBUG MainThread - Downloader settings: {'audio_providers': ['youtube-music'], 'lyrics_providers': downloader.py:131 ['genius', 'azlyrics', 'musixmatch'], 'playlist_numbering': False, 'scan_for_songs': False,
'm3u': None, 'output': '{artists} - {title}.{output-ext}', 'overwrite': 'skip', 'search_query':
None, 'ffmpeg': 'ffmpeg', 'bitrate': None, 'ffmpeg_args': None, 'format': 'mp3', 'save_file': None, 'filter_results': True, 'album_type': None, 'threads': 8, 'cookie_file': None,
'restrict': None, 'print_errors': False, 'sponsor_block': False, 'preload': False, 'archive':
None, 'load_config': True, 'log_level': 'DEBUG', 'simple_tui': False, 'fetch_albums': False,
'id3_separator': '/', 'ytm_data': False, 'add_unavailable': False, 'generate_lrc': False,
'force_update_metadata': False, 'only_verified_results': False, 'sync_without_deleting': False,
'max_filename_length': None, 'yt_dlp_args': None, 'detect_formats': None, 'save_errors': None,
'ignore_albums': None, 'proxy': None, 'skip_explicit': False, 'log_format': None, 'redownload':
False, 'skip_album_art': False, 'create_skip_file': False, 'respect_skip_file': False}
[20:39:10] DEBUG MainThread - FFmpeg path: ffmpeg downloader.py:149
[20:39:10] DEBUG MainThread - Found 0 known songs downloader.py:184
[20:39:11] DEBUG MainThread - Archive: 0 urls downloader.py:231
[20:39:11] DEBUG MainThread - Downloader initialized downloader.py:233
[20:39:11] INFO MainThread - Processing query: Test drive search.py:137
[20:39:17] DEBUG MainThread - Found 1 songs in 0 lists search.py:339
[20:39:17] DEBUG MainThread - Downloading 1 songs downloader.py:280
[20:39:38] DEBUG asyncio_0 - Genius failed to find lyrics for John Powell - Test Drive - From How To Train Your downloader.py:406
Dragon Music From The Motion Picture
[20:39:38] DEBUG asyncio_0 - AzLyrics failed to find lyrics for John Powell - Test Drive - From How To Train downloader.py:406
Your Dragon Music From The Motion Picture
[20:39:39] DEBUG asyncio_0 - MusixMatch failed to find lyrics for John Powell - Test Drive - From How To Train downloader.py:406
Your Dragon Music From The Motion Picture
[20:39:39] DEBUG asyncio_0 - No lyrics found for John Powell - Test Drive - From How To Train Your Dragon Music downloader.py:566
From The Motion Picture, lyrics providers: Genius, AzLyrics, MusixMatch
[20:39:39] DEBUG asyncio_0 - [2QTDuJIGKUjR7E2Q6KupIh] Searching for john powell - test drive - from how to train your base.py:167
dragon music from the motion picture
[20:41:40] DEBUG asyncio_0 - [2QTDuJIGKUjR7E2Q6KupIh] Found 1 results for ISRC US3M51001211 base.py:180
[20:41:40] DEBUG asyncio_0 - [2QTDuJIGKUjR7E2Q6KupIh] Filtered to 1 ISRC results base.py:192
[20:41:40] DEBUG asyncio_0 - [2QTDuJIGKUjR7E2Q6KupIh] Best ISRC result is base.py:201
https://music.youtube.com/watch?v=IpPIK4T068s with score 100.0
[20:41:40] DEBUG asyncio_0 - Downloading John Powell - Test Drive - From How To Train Your Dragon Music From The downloader.py:654
Motion Picture using https://music.youtube.com/watch?v=IpPIK4T068s
[20:45:19] INFO asyncio_0 - Downloaded "John Powell - Test Drive - From How To Train Your Dragon Music From The downloader.py:828
Motion Picture": https://music.youtube.com/watch?v=IpPIK4T068s
[20:45:19] DEBUG MainThread - Took 367 seconds entry_point.py:164
Other details
webserver@webserver:~$ sudo lshw -short
H/W path Device Class Description
system System Product Name (SKU)
/0 bus B150M-C D3
/0/0 memory 64KiB BIOS
/0/41 memory 64KiB L1 cache
/0/42 memory 64KiB L1 cache
/0/43 memory 512KiB L2 cache
/0/44 memory 3MiB L3 cache
/0/45 processor Intel(R) Pentium(R) CPU G4400 @ 3.30GHz
/0/46 memory 8GiB System Memory
/0/46/0 memory [empty]
/0/46/1 memory 4GiB DIMM DDR3 Synchronous 1600 MHz (0,6 ns)
/0/46/2 memory [empty]
/0/46/3 memory 4GiB DIMM DDR3 Synchronous 1600 MHz (0,6 ns)
/0/100 bridge Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
/0/100/1 bridge 6th-10th Gen Core Processor PCIe Controller (x16)
/0/100/1/0 /dev/fb0 display G72 [GeForce 7300 LE]
/0/100/14 bus 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller
/0/100/14/0 usb1 bus xHCI Host Controller
/0/100/14/1 usb2 bus xHCI Host Controller
/0/100/16 communication 100 Series/C230 Series Chipset Family MEI Controller #1
/0/100/17 scsi0 storage Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode]
/0/100/17/0 /dev/cdrom disk DVDRAM GH24NSD1
/0/100/17/1 /dev/sda disk 512GB INTENSO SSD
/0/100/17/1/1 /dev/sda1 volume 2096KiB BIOS Boot partition
/0/100/17/1/2 /dev/sda2 volume 4194MiB EXT4 volume
/0/100/17/1/3 /dev/sda3 volume 472GiB EFI partition
/0/100/1c bridge 100 Series/C230 Series Chipset Family PCI Express Root Port #5
/0/100/1d bridge 100 Series/C230 Series Chipset Family PCI Express Root Port #9
/0/100/1d.1 bridge 100 Series/C230 Series Chipset Family PCI Express Root Port #10
/0/100/1d.1/0 enp4s0 network RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
/0/100/1d.2 bridge 100 Series/C230 Series Chipset Family PCI Express Root Port #11
/0/100/1d.2/0 bridge ASM1083/1085 PCIe to PCI Bridge
/0/100/1f bridge B150 Chipset LPC/eSPI Controller
/0/100/1f/0 system PnP device PNP0c02
/0/100/1f/1 printer PnP device PNP0400
/0/100/1f/2 communication PnP device PNP0501
/0/100/1f/3 communication PnP device PNP0501
/0/100/1f/4 system PnP device PNP0c02
/0/100/1f/5 system PnP device PNP0c02
/0/100/1f/6 system PnP device PNP0b00
/0/100/1f/7 generic PnP device INT3f0d
/0/100/1f/8 system PnP device PNP0c02
/0/100/1f/9 system PnP device PNP0c02
/0/100/1f/a system PnP device PNP0c02
/0/100/1f/b system PnP device PNP0c02
/0/100/1f.2 memory Memory controller
/0/100/1f.3 card0 multimedia 100 Series/C230 Series Chipset Family HD Audio Controller
/0/100/1f.3/0 input4 input HDA Intel PCH Rear Mic
/0/100/1f.3/1 input5 input HDA Intel PCH Front Mic
/0/100/1f.3/2 input6 input HDA Intel PCH Line
/0/100/1f.3/3 input7 input HDA Intel PCH Line Out
/0/100/1f.3/4 input8 input HDA Intel PCH Front Headphone
/0/100/1f.4 bus 100 Series/C230 Series Chipset Family SMBus
/1 power To Be Filled By O.E.M.
/2 input0 input Sleep Button
/3 input1 input Power Button
/4 input2 input Power Button
/5 input3 input Eee PC WMI hotkeys