I also think that you need to decide when the right time is for you (and your girlfriend). I think it varies for everyone, and there's no guaranteed formula to it.
I've been dating my girlfriend for five and a half years now, but we've only been living together for the last year and a half. I'm thinking more and more about proposing, and now I'm just waiting for the right time. I set some parameters for when I would start considering it, like having discussions about what we want for our future (in regards to our relationship, but also our personal goals and school/career plans). We've talked quite a few times about this over the years, and I know that we should continue to be compatible (I would hate to get engaged or married and THEN find out that one of us wants to have kids more than anything, while the other doesn't want them at all). I also decided that I wanted to live together for a year or two before getting engaged, to make sure that we actually enjoy living in the same space. Then, most importantly, I want to wait for the perfect time so that it will be the most special moment in our relationship so far. That's the one I'm waiting on.
I think the most important thing is to tune into what feels right for your relationship, rather than worry about things like when you "should" or "shouldn't" propose. I know it was easier for me to figure out how I felt about proposing once I was able to ignore all external forces, and focused on how I felt about our relationship and how it was progressing.
Luck!