It's a typical question a lot of Undergraduate students ask us.
It depends on how much time you have before you start your application process for Universities- For example if you have just completed your 3rd year or in your 4th year 1st semester, you should plan your preparation keeping University application deadlines in mind.
For 4th year students-
Typically, since you'd be applying to Universities in the months of Nov-Feb of your 4th year, you should plan to finish your GRE by the time of your deadlines. I would say on an average your prep time would be about 3 months. A lot of students start their prep in the summer after their 3rd year and write their tests by August or September. We also have students who start their prep late in the months of October, November and some as late as December, but you should keep in mind that Top Universities deadlines finish by December-January.
For 3rd Year students-
There are students who plan to start GRE prep as early as in 3-1 or 3-2 semesters. If you’re one of them, you’d be having ample amount of time to prepare and give your test. You can take about 4-6 months to prepare and give your test.
For fresh graduates applying for the Spring Term (January)-
Since most of the University deadlines would be as early as June-August, it’s better to check the exact deadlines of Universities you’re planning to apply. Anywhere between 2-3 months of intense prep would help you finish your GRE before Application deadlines.
Note- It is quite common for students to atempt GRE 2-3 times to achieve their best possible score and increase their chances of admit into good Universities. So allot time for this possibility as well in your planning. Typically, you can only retake your test after minimum of 21 days from your previous attempt. This Minimum duration is fixed by the GRE test makers.