В 1861 окончил Инженерное и артиллерийское училище морского ведомства и начал службу на флоте. В 1868 он успешно завершил учебу в Николаевской морской академии. С 1870 Афанасьев преподавал в штурманском и артиллерийском училищах в Кронштадте. С 1881 он начал работать на Кронштадтском пароходном заводе механиком, в 1883 был назначен главным мастером, а в 1888 — начальником завода. В 1892 Афанасьев перешел на службу в инспекцию Морского технического комитет, где проработал до своей отставки в 1906. В 1896 он стал почетным членом Морского технического комитета.
Научные труды Афанасьева сыграли важную роль в развитии военного кораблестроения. Он впервые предложил формулу для определения мощности судовых машин. Активное участие Афанасьев принимал в работах адмирала С. О. Макарова по проектированию и строительству первого в мире ледокола «Ермак». Он выполнил расчеты по определению скорости ледокола, мощности машин и выбору гребных винтов.