The distance travelled by Earth in one revolution around the Sun as calculated by the data from Wikipedia's entry about Earth is about $939.886Gm$, or $939.801Gm$, depending on the approach used for calculation. Since my math-fu is not very strong please point out any mistakes I've made.
Wolfram Alpha's answer to "circumference of earth orbit around the sun" is $9.399 \times 10^8km$ which is the rounded solution of the first four approaches I've arrived at and I'm thus assuming that $939.886Gm$ is the most accurate solution.
Integral approach
It seems the exact way to calculate the perimeter/circumference is via the formula $C = 4aE(e^2)$ where $E$ is the complete elliptic integral of the second kind.
I've found a solution using Python. I tried using the numbers from Wikipedia here for consistency:
import numpy as np
from scipy.special import ellipe
a = 149598023000 # semi-major in meter
e = 0.0167086 # eccentricity
pe = 4 * a * ellipe(e * e)
print(pe) # 939886493337.0
So about $939.886 Gm$.
Ramanujan's first approximation
Ramanujan has given two approximations. The first is $C \approx \pi[3(a+b) - \sqrt{10ab + 3(a^2+b^2)} ]$. In Python:
import math
a = 149598023000
e = 0.0167086
b = a * math.sqrt(1 - e**2) # derive semi-minor
pe = math.pi * ( 3*(a+b) - math.sqrt( (3*a + b) * (a + 3*b) ) )
print(pe) # 9.39886493337e+11
This gives $939.886Gm$ again.
Ramanujan's second approximation
The formula used by @BillDOe is Ramanujan's second approximation: $C = \pi(a+b)(1 + \frac{3h}{10 + \sqrt{4-3h}})$ with $h = \frac{(a-b)^2}{(a+b)^2}$. In Python:
a = 149598023000
e = 0.0167086
b = a * math.sqrt(1 - e**2) # derive semi-minor
h = (a-b)**2 / (a+b)**2
pe = math.pi * (a+b) * (1 + ((3*h) / (10 + math.sqrt(4 - 3*h))))
print(pe) # 9.39886493337e+11
That's the same result as the first approximation. The error for Ramanujan's approximations is stated as $h^3$ and $h^5$ respectively. That's about $1.157^{-25}$ and $2.747^{-42}$. I'm not a math geek, so these sound pretty low for me and I wonder why the solution is so different than the integral approach.
I don't know how this is called. The formula is:
$$ C = \pi(a+b)\left[1 + \frac{h}{4} + \frac{h^2}{64} + \frac{h^3}{256} ...\right]$$
In Python:
a = 149598023000
e = 0.0167086
b = a * math.sqrt(1 - e**2) # derive semi-minor
h = (a-b)**2 / (a+b)**2
pe = math.pi * (a+b) * (1 + (h/4) + (h**2/64) + (h**3/256))
print(pe) # 9.39886493337e+11
Again, $939.886Gm$
Calculate from average speed
The average speed is given as $29.78km$ and a sidereal day is 365.256. Plugging in the numbers:
s = 29780
y = 365.256
pe = y * 24 * 60 * 60 * s
print(pe) # 9.39800765952e+11
That gives $939.801Gm$.