When i connect to my jellyfin server to stream/download video/audio the speeds are tied to my internet speed. If my internet speed drops so does the transfer rate from my server. However it seems tied to my internet download speed (which varies from 0.5 to 80 mb/s), not the upload speed(which is usually 2 mb/s), and if i disconect my router from the internet I'm able to react the maximum allowed by my hardware. Is this normal? Or maybe something is wrong, or needs special configuration?
If relevant, I connect to a tp link router, which connects to the router from my isp.
Sounds like some QoS software is also limiting LAN traffic, seeing as it still works if the internet is disconnected. I would look if your router has "Adaptive QoS" or something similar enabled.
How are you accessing Jellyfin? By its internal IP, or your public IP?
That's weird but maybe the way you have set it up (especially if you use your public IP), it may go through the ISP's rate limiter on the router/modem before looping back to you.
You definitely should be getting full local speed if you're using the private IP unless your ISP's router is configured horribly wrong.
If your server is local, meaning it is on your network, then you connect via the local netowork. If you are both wired, then you'll likely be connected via 1Gbe. If you server is wired, and you connect wirelessly, you are limited by the wireless connection speed. If your jellyfin server is remote, meaning physically hosted offsite, then you will be limited by your internet speed and the speed of the jellyfin servers connection.
If the connection is local and its dropping, check out your jellyfin servers resources to see bottlenecks. Also see if you can check your tplink router and see if the CPU is spiking.
Correlation does not imply causation. It could be that the same thing that is lowering your internet speed is affecting LAN, perhaps the router not being enough to handle the traffic, or something in the network occupying a lot of bandwidth which is only active when there is internet (e.g. a download client, or worse a download client accessing a NAS).
In any case you need to give more info into what your setup looks like, e.g.
is the Jellyfin server wired or wireless?
what is the maximum speed you reach when disconnected from the internet?
are you accessing via a computer or phone? And if a computer is it wired?
does the Jellyfin server has other services running that could occupy bandwidth?
is there a NAS for that Jellyfin server?
is the TP-Link acting like a router or a switch?
how are you measuring speed?
have you monitored the Jellyfin server bandwidth usage during those tests? Does it drop or remains constant while you're testing and disconnect the internet? (If it remains constant it means you're saturating your server's connection, so while it is connected to the internet it L's only using a limited bandwidth for you and using the rest for something else, if you disconnect the internet it allocates everything for you because it's not doing anything else anymore. If on the other hand the usage increases it signifies the router is not being able to handle the traffic)
Have you actually confirm this, e.g. using iperf3?
That being said, I heard some routers behave badly when one of the devices connected to the lan/wan port is using 100mbps nic instead of gigabit nic, which caused the router to downgrade to 100mbps speed on all lan ports.
Internet speed is really something that is largely misunderstood. When we hear about things like 1Gbps up and down what is really being conveyed is the amount of data being able to be carried over a period of one second. It's really bandwidth and not speed. Speed is measured by packet latency often determined by ping times. Obviously lower ping times meaning the data is able to travel at faster speeds. One thing you can do to determine ultimate efficiency is measure both bandwidth and latency together.