Any modern computer should be able to run Quickstart. To get the most out of performance, I recommend the settings below.

Issues / Tips

Issue: Quickstart performance (like all web servers) is disk-bound. That means however fast your CPU is, your whole system is only as fast as the disk drive.
TIP: Use a SSD drive, or a 7200+ RPM disk drive, or RAID (0, 5, etc...).

Issue: All OS's use "virtual memory", which allows the OS to "swap" memory that hasn't been used in awhile onto the disk. This "swapping" gives the disk even more work to do.
TIP: To avoid "swapping", have at least 4 Gigs of memory, and only give half (2 Gigs) to Quickstart.

Issue: Quickstart will work fine on just one CPU. Two or multi-core CPU's allow Quickstart to have its own CPU all to itself. It's possible to give Quickstart access to multiple CPU's, but that requires a newer kind of CPU (AMD Phenom II or Intel Core i7).
TIP: Only use multiple CPU's if you know your computer is compatible. Otherwise, it will *decrease* performance.

Issue: Ubuntu as a HOST could need a tweak to get better performance.
TIP: Edit /etc/default/grub and add "nohz=off". E.g.
GRUB_CMDLINE_LINUX_DEFAULT="acpi=force nohz=off"
Run "sudo update-grub" and reboot afterwards for the changes to take effect.

Issue: Drush up doesn't work correctly.
TIP: Increase the time out for drush. As mentioned in #1140942: drush vset update_max_fetch_time 60 you can use the following to increase the time drush allows to fetch updates. drush vset update_max_fetch_time 60

VirtualBox Performance

Below are some notes and comments about general VirtualBox performance.

Minimum Requirements

Recommended Requirements

  • 4 Gigs memory (2 for host, 2 for guest)
  • 2 CPU cores (1 for host, 1 for guest)
  • 7200+ rpm disk
  • 2d/3d video acceleration (? define this better)

Ultra-Performant Requirements:

  • 8 Gigs memory (4 each)
  • 3+ CPU cores with virtualization hardware extensions (AMD Phenom II or Intel Core i7)
  • SSD disk
  • 2d/3d video acceleration (? define this better)
  • (You don't *need* this, but this will make it faster)

Quickstart Performance

Below are some notes and comments about Quickstart performance.

  • Quickstart performance (and all web servers) is DISK BOUND.
  • A faster disk will make Quickstart faster. I recommend a SSD, or 7200+ RPM hard disk
  • There's an issue to switch QS 0.7 to SATA driver instead of IDE driver for better performance.
  • After disk, QS is memory bound. Check the System Monitor for details. (click Graph at top of screen).
  • After disk and memory, QS is CPU bound. Multiprocessor virtualization is only be available on processors that support the right extensions (AMD Phenom II or Intel Core i7). If you enable multiple CPU's on a system without these extensions, you can actually *decrease* performance.

What I use

I'm a performance junky with a quiet computer fetish. Below is an approx of my desktop and laptop systems. Both run Ubuntu 10.04. My systems boot Windows XP in VBox faster than any windows system I've ever used. The key to fast performance is the SSD drives.

Desktop

  • Antec Solo Black/Silver Steel ATX Mid Tower Computer Case
  • Nexus RX-6300 630W ATX12V v2.2 80 PLUS BRONZE Certified Modular Active PFC Power Supply
  • ASUS M4A79T Deluxe AM3 DDR3 AMD 790FX ATX AMD Motherboard
  • AMD Phenom II X4 955 Black Edition Deneb 3.2GHz Socket AM3 125W Quad-Core Processor Model HDZ955FBGIBOX
  • G.SKILL 4GB (2 x 2GB) 240-Pin DDR3 SDRAM DDR3 1333 (PC3 10600) Dual Channel Kit Desktop Memory Model F3-10600CL8D-4GBHK
  • ASUS EAH4350 SILENT/DI/512MD2(LP) Radeon HD 4350 512MB 64-bit DDR2 PCI Express 2.0 x16 CrossFireX Support Low Profile Ready Video Card
  • OCZ Agility Series OCZSSD2-1AGT120G 2.5" 120GB SATA II MLC Internal Solid State Drive (SSD)
  • Very quiet CPU cooler
  • Some CD drive

Laptop

  • Acer Aspire AS7551G-5407
  • AMD Phenom II N830(2.1GHz) 17.3" 4GB Memory 500GB HDD ATI Mobility Radeon HD 5650 NoteBook
  • G.SKILL 8GB (2 x 4GB) 204-Pin DDR3 SO-DIMM DDR3 1066 (PC3 8500) Laptop Memory Model F3-8500CL7D-8GBSQ
  • OCZ Agility Series OCZSSD2-1AGT120G 2.5" 120GB SATA II MLC Internal Solid State Drive (SSD)

Comments

defconjuan’s picture

I'm using a similar beefy setup but use 2.5" Momentus Hybrid Drives. They're 500GB 7200RPM SATA drives with a 4GB solid state cache. You can get two drives and RAID them in RAID 1 and get sick performance with 1TB of storage for less than a 120GB SSD drive.

philosurfer’s picture

I am running my Virtual Box on an i5 430m with 4 gigs of 1066 and a regular 7200rpm HD..
http://ark.intel.com/VTList.aspx

I have dedicated 2 megs and 2 processors to the VB... runs like a charm.
Turn on the VTx and 2D/3D acceleration. This made a big difference when I was running it on a 1080p display.

-
We are the cult of personality.
-

dunx’s picture

Quickstart was always slow with me even with a Intel Core i7 + SSD + 16GB until I enabled VT (Intel Virtualisation Technology) on my BIOS and threw 3 processors at it under VirtualBox. Like a rocket now.

fuerst’s picture

I got higher page requests per second (1-2 more) and better response times (1 sec vs. 3.5 sec) when

  1. disabling Xdebug (only if you don't need it). Run this commands in a Shell:
          sudo mkdir -p /etc/php5/conf.d.disabled
          sudo mv /etc/php5/conf.d/xdebug.ini /etc/php5/conf.d.disabled/
          sudo /etc/init.d/apache2 restart

    To re-enable run:

          sudo mv /etc/php5/conf.d.disabled/xdebug.ini /etc/php5/conf.d/
          sudo /etc/init.d/apache2 restart
  2. configuring APC as following (append to /etc/php5/conf.d/apc.ini):
          apc.shm_segments=1
          apc.shm_size=32
          apc.ttl=7200
          apc.user_ttl=7200
          apc.enable_cli=0
          apc.stat=1
          apc.stat_ctime=1
  3. configuring MySQL as following (create new file in /etc/mysql/conf.d/drupal.cnf):
          [mysqld]
          innodb_buffer_pool_size = 256M
          innodb_log_buffer_size = 4M
          innodb_flush_method = O_DIRECT
          query_cache_size    = 32M
          key_buffer_size = 128M

    When this buffers are used by MySQL the VM needs additional 400 MB RAM.

Even if said many times before: Make sure your Quickstart never swaps (moves RAM pages to disk). Check with free -m at the Shell/Terminal that the Used value for Swap is 0.