Projectile lagging on client, but not on the server

I am trying to make a projectile as shown in the code block below. For some reason it lags on the client, but not on the server

local bullet = Instance.new("Part", workspace)
bullet.Size = Vector3.new(0.2, 0.2, 5)
bullet.BrickColor = BrickColor.new("Cool yellow")
bullet.Material = Enum.Material.Neon
bullet.CanCollide = false
bullet.CFrame = barrel.CFrame
local velocity = Instance.new("BodyVelocity")
velocity.P = 10000
velocity.Velocity = barrel.CFrame.LookVector * 1000
velocity.Parent = bullet

I have looked at other forum posts, but none of them seem to have this problem.
Does anyone know what’s going on here?

How many players are on the server? Have you considered changing the network owner to the player who fired it?

Like @seancool07777 said, if you are not setting the network ownership to the player who fired it, then the server will have to assign the client the network ownership automatically which may cause buffering.

bullet:SetNetworkOwner(plyr)