I have a website that will be using three (3) views slideshows on the landing page/front page. What are the best ways to set this up site to be able to load efficiently? Should I start with a Pressflow site? Install and enable specific modules to improve performance? Use Boost? Are most of the caching modules and techniques related only to logged in users? Do I have to own my own server to do this well? I am assuming that because there are so many slideshow instances loading at the same time that this will be a severe performance hit at loading.
In general, I'd recommend using boost if you don't have access to the command line of a server. Boost creates a static HTML copy of the file inside a cache directory within your Drupal file structure. It updates cached pages only when content changes. It is used in conjuntion with the performance enhancement features of Drupal such as CSS and JQuery compression found under
If you have command line access I'd reccomend APC and memcache/memcached. This takes a little more effort to set up, but is well worth it IMO. There are plenty or resources on Drupal.org to help you to set up memcached.
You can also set basic caching on individual views as shown here:
You'll see the option for caching 7th from the bottom. There is also a similar option in panels if you use them.
These caching options are designed for end-users really, not specifically logged in users. Indeed you may want caching disabled for logged in users if they are administrators and/or are making changes to the site.
Picking a caching strategy before you have even built the site is really getting ahead of yourself. Ideally, you should get your site running as well as possible without caching, and then use advanced caching strategies to get extra performance.
Build the site, then optimize Apache, PHP, and MySQL for the memory footprint you are seeing. This will likely mean getting APC up and running, as well as interpreting mysqltuner results.
Getting a good baseline for Apache, PHP, and MySQL can do wonders for performance w/o even needing to play with caching. This is really important, because no matter what you do, you will have cache misses / clears, and you want the site to be acceptable under these circumstances.
Then profile your site, and see what your performance problems are. Then address them one by one so you can figure out if you are actually solving a problem, or just bandaiding it.
Don't underestimate the standard caching used by core Drupal and modules that utilize Drupal cache. Go through all of the setting pages and learn what they can do.
Additional strategies could involve Boost, Varnish, Memcache, or other additional modules. But, there is no solution that fits all scenarios. You need to profile and be able to measure whether you are making forward or sideways progress.
To address specific questions.
Pressflow can make a difference. But the changes to session handling can be problematic, and the the way it handles PHP error reporting can take a little getting used to. I typically start with Pressflow, so I am not fixing quirks after the fact (though some of my clients don't have problems when I develop against standard Drupal and then they deploy Pressflow).
You don't necessarily need your own server, but you should really have a VPS with true root. Preferable, you want one from a place where you can scale memory/CPU easily and on-demand. If you have true root you can think about if PostgreSQL or Zend Server CE makes sense.
Most Drupal-based caching strategies only take effect with anonymous users. This is why a properly tuned instance is so important.
Most of the other answers are about general caching strategies, not tailored to your situation.
The problem here is the users's internet connection.
BTW having 3 slideshows on one page will probably result in a pretty horrible design. Talk to your designer about that...