php特级课---3、常用的网站加速技术有哪些
php特级课---3、常用的网站加速技术有哪些
一、总结
一句话总结:网站加速技术是一组技术的组合,来提升网站的速度
1.Squid代理缓存技术
2.页面静态化缓存
3.Memcache
4.Sphinx搜索加速
1、squid的作用是什么(squid动静分离)?
动静分离,动态数据和静态数据分离:squid是linux里面的软件:Squid最开始是做代理服务器的
squid是linux里面的软件
动静分离,动态数据和静态数据分离
Squid最开始是做代理服务器的
2、什么是静态数据(除了js和css文件外)?
静态页面、图片/FLUSH、CSS文件、JS文件
3、什么是动态数据?
根据用户的请求从服务器的数据库中或文件获取的记录
4、squid技术的机制和实例?
感觉和cdn有点相似:就近请求服务器
比如新浪,新浪的总部在北京,但是新浪在每个城市都有服务器,比如山西太原,
现在山西太原的一个用户请求访问一个北京的网站,那么那些静态资源(flash,css,js,图片等)会加载进山西太原的服务器的缓存池,
如果山西太原的其它用户要访问这个北京的网站,那么就不需要从北京的服务器上面加载,直接在山西太原的服务器上面加载这些资源就可以了
5、squid反向代理是什么(代理跑一趟的功能)?
代理服务器帮忙请求和返回资源
客户机需要向服务器请求资源,代理服务器帮忙请求,然后代理服务器把资源返回给用户,
感觉游戏加速器就是相似的原理
6、页面静态化如何实现网站加速(比如smarty技术)?
使用现成的插件:比如:Apache HTTP服务器的mod_rewrite等
自己写:自己写的代码实现动态网页静态化,方法也有好几种:1、创建FSO对象,2、利用模板技术,3、使用Server.Transfer转换技术
HttpWebRequest:使用HttpWebRequest请求客户端的方式,获取返回资源,生成静态页面
方法一:使用现成的插件,
比如:Apache HTTP服务器的mod_rewrite等,它们都是基于正则表达式解析器开发的重写引擎。
它们的使用方法查看它们自带的帮助即可
方法二:自己写的代码实现动态网页静态化,方法也有好几种:
1、创建FSO对象,利用此对象将所需的内容动态创建到文
件中生成HTML页面
2、利用模板技术,将模板中特殊代码的值替换为从表单或
是数据库字段中接受过来的值 生成HTML文件
3、使用Server.Transfer转换技术
方法三:使用HttpWebRequest请求客户端的方式,获取返回资源,生成静态页面。
一般这样只需要获取网页内容即可,其它资源可放置在服务器上,自动加载
7、常用的页面静态化(模板技术)有哪些?
Smarty模板
ThinkPHP框架
ZendFrameWork框架
BroPHP框架
8、Memcache是什么?
内存中读取:Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
实例:用于常用资源的缓存区间
Memcache是一个高性能的分布式的内存对象缓存系统,
通过在内存里维护一个统一的巨大的hash表,它能够用
来存储各种格式的数据,包括图像、视频、文件以及数
据库检索的结果等。简单的说就是将数据调用到内存中,
然后从内存中读取,从而大大提高读取速度
Memcache是danga的一个项目,最早是
LiveJournal 服务的,最初为了加速 LiveJournal 访问
速度而开发的,后来被很多大型的网站采用
Memcached是以守护程序方式运行于一个或多个
服务器中,随时会接收客户端的连接和操作
9、memcache的工作机制是怎样的?
第一次取数据的时候从数据库中取,然后存到memcache中,后面的请求直接从memcache中取就好
10、银行系统适合用memcache么?
不适合:服务器宕机会影响影响memcache中存储的数据,所以比如银行经融里面的一些操作就不适合memcache,以防数据突然丢失
11、Sphinx搜索(加速)是什么?
全文索引:Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。
Sphinx是一个基于SQL的全文检索引擎,可以结合
MySQL,PostgreSQL做全文搜索,它可以提供比数据库
本身更专业的搜索功能,使得应用程序更容易实现专业
化的全文检索。Sphinx特别为一些脚本语言设计搜索
API接口,如PHP,Python,Perl,Ruby等,同时为
MySQL也设计了一个存储引擎插件。
Sphinx 单一索引最大可包含1亿条记录,在1千万条记
录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建
索引的速度为:创建100万条记录的索引只需 3~4分
钟,创建1000万条记录的索引可以在50分钟内完成,
而只包含最新10万条记录的增量索引,重建一次只需几
十秒
比mysql里面的搜索快太多
12、Sphinx全文索引的原理是什么?
php请求数据,Sphinx拿到文档id,然后去Mysql中通过文档id拿数据
13、搜索引擎的必须的技术是什么?
中文分词:类似于百度的搜索
14、 Sphinx全文索引的时间量级是多少?
1000W条才0.几秒
二、内容在总结中
php特级课---3、常用的网站加速技术有哪些的更多相关文章
- 现如今的CDN网站加速技术,细说CDN
CDN技术应用越来越广泛的被各大互联网公司所应用.已经成为了互联网企业离不开的一种网络运维方式.什么是CDN? CDN 利用全局负载均衡技术将用户的访问指向离用户最近的工作正常的流媒体服务器上,由流媒 ...
- CDN网站加速技术
什么是CDN? CDN(Content Delivery Network 内容分发网络)技术通过在各个地区部署缓存节点加速用户对静态资源的获取速度,提升用户体验,降低运营成本.CDN公司有网宿(Chi ...
- php特级课---4、网站服务监控
php特级课---4.网站服务监控 一.总结 一句话总结:这些是架构师的知识 网络流量监控:cacti,mrtg 邮件报警系统:postfix 压力测试工具:Apache压力测试软件-ab,Mysql ...
- php特级课---2、网站大数据如何存储
php特级课---2.网站大数据如何存储 一.总结 一句话总结: mysql主从,分库分表,mysql分区,mysql集群,Nosql 1.mysql主从服务器各自的功能是什么? 增删改,主服务器 查 ...
- php特级课---1、网站大访问量如何解决
php特级课---1.网站大访问量如何解决 一.总结 一句话总结: 负载均衡和冗余技术 1.负载均衡和冗余技术是一回事么? 并不是:负载均衡是用户分流:冗余技术是避免出现单点故障 负载均衡:将不同的用 ...
- php特级课---5、网络数据转发原理
php特级课---5.网络数据转发原理 一.总结 一句话总结: OSI七层模型 路由器 交换机 ARP 代理ARP 1.OSI7层模型? 电缆 MAC地址 ip 端口 应用 1层 通信电缆 2层 原M ...
- iOS开发常用国外网站清单
工欲善其事必先利其器,最近发现临时查找一些东西容易浪费时间,花了点时间整理一下常用的网站,方便以后备用. 国内的code4app,ui4app,cocoachina,oschina,csdn就不说了, ...
- 【Web探索之旅】第二部分第五课:响应式网站和移动应用
内容简介 1.第二部分第五课:响应式网站和移动应用 2.第三部分第一课预告:服务器 第二部分第五课:响应式网站和移动应用 在我们开始聊响应式网站之前,我们可以聊聊移动App(App是Applicati ...
- 动态网站加速,cdn义不容辞
"双十一"大战已经落下帷幕,各大电商纷纷拿出了亮眼的成绩单,但在这些成绩单的背后,CDN加速技术是功不可没的.随着互联网的发展,电商.视频直播等网站的火热,以及各个云加速平台的流行 ...
随机推荐
- js在页面输出信息的几种方式alert,confirm,prompt,document.write
- Vue.js中this.$nextTick()的使用
this.$nextTick()将回调延迟到下次 DOM 更新循环之后执行.在修改数据之后立即使用它,然后等待 DOM 更新.它跟全局方法 Vue.nextTick 一样,不同的是回调的 this 自 ...
- 二、Nuxt初始化项目
一.快速生成新项目 为了方便大家快速使用,Nuxt提供了一个starter模板,可以直接下载模板的压缩包,或者利用vue-cli来安装 1.压缩包链接:https://github.com/nuxt- ...
- ftp 协议分析
File Transfer Protocol(文件传输协议) 使用SOCKET实现 FTP的客户端协议规则: .h #pragma once #include <string> #incl ...
- 详解mysql数据库的左连接、右连接、内连接的区别
一般所说的左连接,外连接是指左外连接,右外连接.做个简单的测试你看吧. 先说左外连接和右外连接: SQL>select * from t1; ID NAME ---------- ------- ...
- socket()模块和套接字对象的内建方法
一.socket()模块函数 要使用socket.socket()函数来创建套接字,其语法如下: socket(socket_family,socket_type,protocol=0) 如上所述,s ...
- 【转】Git介绍
版本控制 说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景象! 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业论文_修改2.doc 毕业论文_修改3. ...
- linux eclipse的桌面快捷方式
在桌面上创建一个eclipse.desktop [Desktop Entry] Encoding=UTF- Name=Eclipse Comment=Eclipse IDE Exec=/opt/Dev ...
- CMA内存管理子系统
转:http://www.wowotech.net/memory_management/cma.html 前言 本文是近期学习CMA模块的一个学习笔记,方便日后遗忘的时候,回来查询以便迅速恢复上下文. ...
- Django-虚拟环境设置
Django 虚拟环境virtualenv virtualenv是用来处理多个用python语言进行开发的项目,在同一台机器上部署,不同项目依赖不同第三方库版本所造成的问题. 打个比方,现在你机器上要 ...