For this task it's best to use the autocorrelation.
The FFT is the wrong tool to use for finding the periodicity.
Consider, for example, a case where your waveform is made by adding together two simple sine waves, one with a period of 2 seconds (0.5 Hz), and the other with 3 seconds (0.333 Hz). This waveform will have a periodicity of 6 seconds (i.e., 2*3), but the Fourier spectrum will only show two peaks at .5 Hz, and .333 Hz.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…