There's other ways to also try and limit the length of public comment, if there's more than say 30 people signed up, reduce public comment from 2 minutes per person to 1 minute. Be aggressive about cutting mics rather than giving everyone 10 extra seconds. For topics that council knows will be contentious and attract a lot of public comment they'll either hold multiple public comment blocks that day or literally just do a marathon session, 4-5 hours of just public comment.
Finally, if enough people are frustrated enough about an issue to constantly show up to public comment to talk about it, councilmembers should try meeting with those people at a different forum to at least hear them out to try and diffuse their anger. Council meetings should not be the only other place where residents can talk to their councilmembers.