One thing I would like to contribute is regarding the connection string. Although it is true that opening database connections is one of the time consuming operations and connection pooling helps reducing it(if connection strings are exactly the same).
However I am not sure how connection pooling will be implemented in typical 2 tier applications,Yes as far a I know connection pooling is one of the services used by MTS in 3 tier architecture and also IIS uses it.
SO I presume that the suggestions provided in the article would hold true for 2 tier applications. If any one can has tested the same on 3 tier architectures and found any performance degradtion can share their comments..
Relationships are like Banks.You Invest the Principal and then get the Interest.
He who knows others is learned but the wise one is one who knows himself.