500 000 запросов в день - это порядка 5ти запросов в секунду
В часы пик - 10+ запросов
Это ерундовая нагрузка даже для ASP.NET 2.0 & IIS 6.0.
Будет стабильно работать на вот такой примерно конфигурации: один сервер БД (Xeon 2.4+ HT) + один веб-сервер (Dual Xeon 2.4+ HT)
Ну и памяти жалеть не стоит. Где-то порядка 2-5 тыс. у.е. стоят такие сервера (Intel / AMD).
Если дизайн БД простой, запросы легкие, VIEWSTATE используется минимально - странички весят в среднем менее 50кбайт, используется ObjectDataSource, то на таком железе можно гарантировать в несколько раз большую нагрузку (у нас есть много веб-приложений и результаты тестов - до 50ти одновременных пользователей, которые постоянно куда-то нажимают, на такую конфигурацию железа).
При этом, кеширование используется самое простое ;-) ASP.NET 2.0 HTTPCache для мелких справочников до 20ти записей (которые в лукапах используются). А если позаморачиваться с ADO.NET DataCache, ASP.NET PageCache, то результаты будут еще выше ;-)