Bosonic quantum error correction is a viable option for realizing error-corrected quantum information processing in continuous-variable bosonic systems. Here, we consider the concatenation of the bosonic Gottesman-Kitaev-Preskill (GKP) code with the surface code, namely, the surface-GKP code. In particular, we thoroughly investigate the performance of the surface-GKP code by assuming realistic GKP states with a finite squeezing and noisy circuit elements due to photon losses. By using a minimum-weight perfect matching decoding algorithm on a 3D space-time graph, we show that fault-tolerant bosonic quantum error correction is possible with the surface-GKP code if the squeezing of the GKP states is higher than 11.2dB in the case where the GKP states are the only noisy elements. We also show that the squeezing threshold changes to 18.6dB when both the GKP states and circuit elements are comparably noisy. At this threshold, each circuit component fails with probability 0.69%. Finally, if the GKP states are noiseless, fault-tolerant quantum error correction with the surface-GKP code is possible if each circuit element fails with probability less than 0.81%.