This is one of those things that could be several different problems.
The trick is to trouble-shoot it one problem at a time so you know when you have it solved. A little patience is required.
Question: are you on a VPS? Shared Hosting? PS?
A couple if things I would try:
You might install a plugin called “Login Lockdown”. This basically gives a user 3 or 4 chances to login with an incorrect password…if that fails, they are locked out.
Then you, as the administrator, can look and see how many “failed” logins there are. If you install the plugin and check bac in an hour, and there are tons of failed logins, it means that your site is being hammered by a robot trying to hack into your site. if this is happening, there are a couple of fixes that can make it stop.
Also, you might get on a chat (from the DreamHost panel) and tell them your site is slow…chances are they will restart apache to kill off any rogue processes and your site will suddenly be quick again. This is not necessarily a solution because if there is a problem somewhere it might come back after an hour…but it is a start at least to finding the solution.