Expecting a spike in traffic on my website. Not sure what to do.

I have a website thats currently on a shared server plan. It's been working fine.
In about a week, I'm expecting a spike in traffic during a specific 4-day event.
I could have as many as 1000 visitors at one time on my site. My site is basically a phpbb 3.0 forum.
I'm not sure what would happen with such a spike. Would the server crash or would access to the site grow to a crawl?
My host is offering to switch me to a VPS or dedicated server for a month. I'm not concerned about the cost.
I've never did this before. I'm concerned that the transition won't go smoothly and my website won't work on the new server (vps or managed dedicted), without troubleshooting my code and making changes. My website is on a shared server that uses CPANEL. Not sure if this makes the transition to a VPS of dedicated seamless and reliable. I would appreciate some insight and advice on my situation.

Dani AI

Generated

Short, practical plan for the spike (based on your details and the replies from and ).

Bring up the new VPS/dedicated server in parallel, seed it from a recent backup, validate everything, then cut DNS when you’re confident — exactly what suggested but with a clear rollback plan. Before the event, reduce DNS TTL so the cutover can complete quickly and keep a snapshot/backup so you can revert if needed.

Key technical steps to prepare:

  • Reduce dynamic work: serve images, CSS and JS from a CDN and enable browser caching for static assets.
  • Add caching layers: an opcode cache (OPcache), an object/session cache (memcached or Redis), and consider a simple reverse-proxy cache (nginx microcache or Varnish) for anonymous pages.
  • Database attention: as warned, the DB is the usual bottleneck. Confirm where MySQL runs, enable the slow-query log, tune max connections and buffers, and—if possible—use a read-replica or offload reads.
  • App tuning: disable non-essential extensions, increase PHP worker counts only after testing, and ensure sessions are stored centrally if you’ll run multiple web nodes (or use sticky sessions).

Testing, monitoring and fail-safes:

  • Do at least one full dress rehearsal under load (tools: siege/ab/JMeter) against the parallel server using a scrubbed production dataset.
  • Put monitoring in place (CPU, load, MySQL threads, response times) and tail logs during the event.
  • Prepare graceful degradation: a static maintenance page or read-only mode, rate-limits on registrations/posts, and temporarily switching off heavy features (search, avatars) if load spikes.

Operational checklist before go-time: confirm cPanel/migration method with the host, ensure SSL and cron jobs are migrated, set a clear cutover time, lower DNS TTL, take final DB dump, and keep the old shared plan available for instant rollback. If you’re not comfortable doing these steps, ask the host for managed migration help for the event window.

Recommended Answers

All 2 Replies

I moved this question to the Web Dev forum where you are most likely to get responses ... you posted in the Geeks' Lounge which is just for off-topic hanging out and not any serious questions.

I can tell you from my own experience that if you aren't capable of handling all of your visitors, your servers COULD crash and not just slow down.

Firstly, I assume your site uses a database since you mentioned phpBB ... is the database server on the same physical box as your web server??

It's been my own experience that Apache could crash if it is trying to use more memory than the physical server has available. So, for example, if each instance of executing the script takes up 8 megs of ram (just making stuff up), then if it's hosted on a server with 2 gigs of ram, there's clearly an upper limit on how many scripts are capable of executing simultaneously before something won't be happy because it's trying to allocate more ram than physically available.

The good news is that it usually takes only a second for a script to execute, and once it finishes executing, it frees up the memory for another instance of the script to execute. Therefore, it's pretty unlikely that soooooooooooo many people would be trying to load a page at the exact same second as to use up all of your ram. What would simply happen is that, based on how many cpu cores you allocate to Apache (or whatever httpd server you happen to be using), the load average of your server will increase, as load average is a representation of how many processes are waiting in line to be processed.

phpBB is database-driven, however. This is where my question relating to your database comes in, though. The heavier the load on the database server, the longer it takes to execute an individual MySQL query.

Lots of MySQL queries get executed from within a single phpBB page, and each time a database request is issued, phpBB sits there and twiddles its thumbs until it receives a response back.

Therefore, if MySQL slows down too much, it could cause those 1-second long web scripts to take 20 or 30 seconds instead, because they remain active even if they're not using up cpu time and simply waiting for the database to return something. Now, with scripts taking 30X as long to process, it's much more of a reality that we won't have enough RAM to accomodate all of the concurrently running scripts at once. That can kill the server.

In conclusion, talk to your host about offloading your database to the cloud.

I wish I would not have missed this thread, otherwise my recommendation would have been to bring up the new VPS in parallel, then simply cutover when the new VPS system was stable and validated, especially since you indicated that additional costs were not of concern.

For anyone else reading this thread, see more..
http://www.daniweb.com/web-development/threads/470774/moved-my-phpbb-forum-from-shared-to-vps-now-i-have-serious-issue

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.