Embora atualmente a largura de banda seja barata, o fator limitante na experiência de desempenho do usuário final para aplicativos baseados na Web é a latência. E de longe as melhores formas de lidar com a latência são:
- cache - empurre o máximo de cache possível
- ter servidores mais próximos de seus usuários
Ambos são grandes tópicos. Mas, focando no último, a localização do servidor é muito importante. Existem duas implicações para isso:
- seu aplicativo precisa suportar a operação em locais distribuídos (pense particularmente no gerenciamento de números de sequência e IDs de incremento automático, bem como na replicação de dados)
- você precisa de um serviço DNS geograficamente sensível
Em relação ao anterior - você economizará muito tempo e esforço se projetar seu aplicativo em vários servidores a partir do dia1.
Embora você possa implementar sua própria solução para o último, é muito mais simples usar um serviço DNS com reconhecimento de local. Existe um artigo aqui você pode achar útil - tente o google para saber mais.
Não há final de provedores de serviços divulgando sua empresa, no entanto, eu recomendo que você pense se realmente precisa de um servidor dedicado (ou vários servidores dedicados) desde o início. Um ou mais VPS, ou talvez até mesmo hosts compartilhados, podem bastar, na verdade, eu esperaria ter um grande desempenho usando um par de VPS em diferentes contumentes do que uma única máquina dedicada.
what performance I could expect? How much traffic I would have to have to make the site very slow/inaccessible?
Estes são impossíveis de responder até que seu site seja criado e você o teste para descobrir.