Both can be used, but they mean slightly different things.
“Congratulations on” puts the emphasis a tiny bit on the congratulations themselves. “Congratulations on receiving that award” or “I offer you my congratulations on your graduation”.
“Congratulations upon” is a bit more formal or British. “I would like to offer my congratulations upon the announcement of your engagement”.
You can say “I would like to congratulate the performers for their hard work” — it’s less common but it puts the emphasis on the performers and their work. I would prefer to say “I commend you for your hard work”, myself.