Thirty minutes is plenty. The problem is not the length, it is that you are performing rather than practising, and playing from the top is the clearest symptom.
A structure that works in half an hour, with the times as a guide rather than a rule:
Five minutes, warm up with purpose. Not a vague noodle: something technical that relates to what you are working on. Scales or an exercise in the key of the piece.
Fifteen minutes, the hard bits only. This is the session. Take the two places you stumble, isolate them to a few bars, and work them properly - see the next answer for how. You are not allowed to play the parts that already work.
Five minutes, join them up. Play from a few bars before each difficult spot through to a few bars after. This is what actually integrates the work, and it is skipped almost universally.
Five minutes, play something for pleasure. Anything. This matters, it is why you sit down tomorrow.
The rule that makes the whole thing work: never start from the beginning. If you want to run the piece, run it at the end of the week, once, and treat it as a performance rather than as practice.