1. пользователь вводит мыло, вы отправляете туда ссылку со сгенереным токеном
2. после перехода по ссылке из мыла или даете ввести новый пароль, или опять таки шлете на мыло заново сгенерированный пароль
если используете вас php-fpm, то там есть slow log чтоб долго не заморачиваться. ну и если используете фреймворк, то там как правило есть встроенный бенчмарк