I was reading the sentence:
but I have not understood what this expression means.
〜しておく means to do something in advance.
EDIT: So the sentence can be translated as "When going to a restaurant with a large group of people, you should make a reservation ahead of time."
In your sentence 「～しておく」 means to do something in preparation for another purpose. "Do" it and "put" it aside for later use. Therefore often used in the phrase「準備しておく」 meaning "get ready in advance；prepare in advance". As for 「ほうがいい」 - broken headphones reference.
Together - "you had better make a reservation (first, in advance)"
Note: 「しておく」 is to also used in the continous sense to mean "to keep, to maintain" as in 「清潔にしておく」→ "to keep clean, to maintain clean condition"