Why do I observe a spike in my website response time?

Why do I observe a spike in my website response time?

Response time is a combination of DNS time, connection time, SSL Handshake time (for HTTPS) and  download time. Spikes in response time could be due to increase in DNS  time or connection time or download time. 

Some factors to consider:

1. Server may take some time to respond
2. Server throughput may be low
3. There may be more of response content transfer
4. ISP routing may create multiple hops