I mean let's say I have to support 10000 updates per second and 100000 reads per second. Surely 500 connection pool won't suffice.
But at that point your reads should be probably be sent to read-only replica's. So you write to a master but all your read-heavy apps and queries run against replicas.
So the workload you describe — without more detail — may in fact be just fine with that connection count.
But plenty of people also run Postgres with well above 500 max connections.