高性能MySQL–应用层优化
- 4158
- MySQL
- 0
- super_dodo
- 2017/03/03
连接池通常不会导致服务器连接过多,因为他们会在进程间排队和共享连接,另一方面,长连接是在每个进程基础上创建,不会再进程间共享。连接池也比共享连接的方式对连接策略有更强的控制力。连接池可以配置为自动扩展,但是通常的实践经验是,当遇到连接池完全占满时,应该讲连接请求进行排队而不是扩展连接池。这样做可以在应用服务器上进行排队等待,而不是将压力传递到MySQL数据库服务器上导致连接数太多而过载。
最好能够精简Apache的模块,移除掉那些不需要的。不要使用apache来做静态内容服务,或者至少和动态服务使用不同的apache实例。使用缓存代理服务器,对动态和静态资源都设置过期策略。打开gzip压缩。
缓存对高负载应用来说事至关重要的。应用层缓存通常在同一台机器的内存中存储数据,或者通过网络存在另一台机器的内存中。但应用层缓存也有缺点,那就是缓存命中率可能更低。
应用缓存有很多种:本地缓存、本地共享内存缓存、分布式内存缓存、磁盘上的缓存。缓存控制策略:TTL(time to live 存活时间) 显式失效 读时失效.
预生成内容可以避免在缓存未命中时导致的雪崩效应。
当大浪退去时,我们才知道谁在裸泳。——巴菲特
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例