腾讯的题目文字版

1、对于大流量的网站,您采用什么样的方法来解决访问量问题?

1)确认服务器硬件能否支持当前的流量 对于普通的pcserver来说,它能够独立支持每天10万个独立ip访问,如果访问量过大,最好更好性能更高的专用服务器。
2)优化数据库的访问服务器的负载过大,一个重要的原因就是CPU和内存负载过高,而读写数据在这块占据较多的资源。可以从页面静态化、memcache缓存和mysql优化几个方面着手。
3)禁止外部盗链占用较大的流量,防盗链,使用reference来判断一下。如果是图片的话,使用添加水印即可很好的防止。
4)控制大文件的下载最好把文件下载的容量控制为相对较小的一个值,如果有大文件下载,最好使用专用的服务器。
5)使用多台主机实现分流,集群
6) 使用流量分析软件进行分析统计谷歌和百度

2、memcache 默认缓存时间 30天
redis默认key的大小512M

redis统计命中率
redis提供了INFO这个命令,能够随时监控服务器的状态,只用telnet到对应服务器的端口,执行命令即可:

telnet localhost 6379  
info  

在输出的信息里面有这几项和缓存的状态比较有关系:

keyspace_hits:14414110  
keyspace_misses:3228654  
used_memory:433264648  
expired_keys:1333536  
evicted_keys:1547380  

通过计算hits和miss,我们可以得到缓存的命中率:14414110 / (14414110 + 3228654) = 81% ,一个缓存失效机制,和过期时间设计良好的系统,命中率可以做到95%以上

你可能感兴趣的:(PHP)