Change the length in your code to increase shaft length.
\draw[->, line width=5mm] (0,0) -- (4,0);
To explain some stuff rather shortly that you seem to not understand:
The units TikZ is using (if you don't explicitly specify one) are centimetre. So
(0,0) starts at coordinates
(0cm, 0cm) and the endpoint
(20,0) would be at the coordinates
(20cm, 0cm) resulting in a 20 cm long arrow.
line width doesn't change the length. It only affects the thickness of the arrow.
scale would enlarge the result (like after everything is drawn using the given sizes) by the factor given as argument. So
scale=5 would make the result 5 times bigger in all dimensions.