Hi there,
According to Microsoft's recommendation, the Best Practice is to split the FSMO roles between the different domain controllers. The forest-wide FSMO roles should be placed on one DC, and the domain-wide roles on another. If you have only one domain controller, it is recommended you deploy an additional DC.
-In multi-domain environments, place both forest-wide roles on the root controller, which is also a Global Catalog server.
-Place all domain-wide roles on one server with sufficient performance
-If you are using virtualized domain controllers, disable time synchronization of virtual machines with FSMO roles with the host;
-Do not place any other tasks on the domain controllers
Hope carrying out the above steps will help you out.
--If the reply is helpful, please Upvote and Accept it as an answer--