资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php数据分发,php流量转发

php怎么处理高并发

以下内容转载自徐汉彬大牛的博客 亿级Web系统搭建——单机到分布式集群 

创新互联是一家集网站建设,房县企业网站建设,房县品牌网站建设,网站定制,房县网站建设报价,网络营销,网络优化,房县网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。

Web负载均衡 

Web负载均衡(Load Balancing),简单地说就是给我们的服务器集群分配“工作任务”,而采用恰当的分配方式,对于保护处于后端的Web服务器来说,非常重要。

负载均衡的策略有很多,我们从简单的讲起哈。

1. HTTP重定向

当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际上就是页面重定向。通过重定向,来达到“负载均衡”的目标。例如,我们在下载PHP源码包的时候,点击下载链接时,为了解决不同国家和地域下载速度的问题,它会返回一个离我们近的下载地址。重定向的HTTP返回码是302

这个重定向非常容易实现,并且可以自定义各种策略。但是,它在大规模访问量下,性能不佳。而且,给用户的体验也不好,实际请求发生重定向,增加了网络延时。

2. 反向代理负载均衡

反向代理服务的核心工作主要是转发HTTP请求,扮演了浏览器端和后台Web服务器中转的角色。因为它工作在HTTP层(应用层),也就是网络七层结构中的第七层,因此也被称为“七层负载均衡”。可以做反向代理的软件很多,比较常见的一种是Nginx。

Nginx是一种非常灵活的反向代理软件,可以自由定制化转发策略,分配服务器流量的权重等。反向代理中,常见的一个问题,就是Web服务器存储的session数据,因为一般负载均衡的策略都是随机分配请求的。同一个登录用户的请求,无法保证一定分配到相同的Web机器上,会导致无法找到session的问题。

解决方案主要有两种:

1. 配置反向代理的转发规则,让同一个用户的请求一定落到同一台机器上(通过分析cookie),复杂的转发规则将会消耗更多的CPU,也增加了代理服务器的负担。

2. 将session这类的信息,专门用某个独立服务来存储,例如redis/memchache,这个方案是比较推荐的。

反向代理服务,也是可以开启缓存的,如果开启了,会增加反向代理的负担,需要谨慎使用。这种负载均衡策略实现和部署非常简单,而且性能表现也比较好。但是,它有“单点故障”的问题,如果挂了,会带来很多的麻烦。而且,到了后期Web服务器继续增加,它本身可能成为系统的瓶颈。

3. IP负载均衡

IP负载均衡服务是工作在网络层(修改IP)和传输层(修改端口,第四层),比起工作在应用层(第七层)性能要高出非常多。原理是,他是对IP层的数据包的IP地址和端口信息进行修改,达到负载均衡的目的。这种方式,也被称为“四层负载均衡”。常见的负载均衡方式,是LVS(Linux Virtual Server,Linux虚拟服务),通过IPVS(IP Virtual Server,IP虚拟服务)来实现。

在负载均衡服务器收到客户端的IP包的时候,会修改IP包的目标IP地址或端口,然后原封不动地投递到内部网络中,数据包会流入到实际Web服务器。实际服务器处理完成后,又会将数据包投递回给负载均衡服务器,它再修改目标IP地址为用户IP地址,最终回到客户端。

上述的方式叫LVS-NAT,除此之外,还有LVS-RD(直接路由),LVS-TUN(IP隧道),三者之间都属于LVS的方式,但是有一定的区别,篇幅问题,不赘叙。

IP负载均衡的性能要高出Nginx的反向代理很多,它只处理到传输层为止的数据包,并不做进一步的组包,然后直接转发给实际服务器。不过,它的配置和搭建比较复杂。

4. DNS负载均衡

DNS(Domain Name System)负责域名解析的服务,域名url实际上是服务器的别名,实际映射是一个IP地址,解析过程,就是DNS完成域名到IP的映射。而一个域名是可以配置成对应多个IP的。因此,DNS也就可以作为负载均衡服务。

这种负载均衡策略,配置简单,性能极佳。但是,不能自由定义规则,而且,变更被映射的IP或者机器故障时很麻烦,还存在DNS生效延迟的问题。 

5. DNS/GSLB负载均衡

我们常用的CDN(Content Delivery Network,内容分发网络)实现方式,其实就是在同一个域名映射为多IP的基础上更进一步,通过GSLB(Global Server Load Balance,全局负载均衡)按照指定规则映射域名的IP。一般情况下都是按照地理位置,将离用户近的IP返回给用户,减少网络传输中的路由节点之间的跳跃消耗。

“向上寻找”,实际过程是LDNS(Local DNS)先向根域名服务(Root Name Server)获取到顶级根的Name Server(例如.com的),然后得到指定域名的授权DNS,然后再获得实际服务器IP。

CDN在Web系统中,一般情况下是用来解决大小较大的静态资源(html/Js/Css/图片等)的加载问题,让这些比较依赖网络下载的内容,尽可能离用户更近,提升用户体验。

例如,我访问了一张imgcache.gtimg.cn上的图片(腾讯的自建CDN,不使用qq.com域名的原因是防止http请求的时候,带上了多余的cookie信息),我获得的IP是183.60.217.90。

这种方式,和前面的DNS负载均衡一样,不仅性能极佳,而且支持配置多种策略。但是,搭建和维护成本非常高。互联网一线公司,会自建CDN服务,中小型公司一般使用第三方提供的CDN。

Web系统的缓存机制的建立和优化

刚刚我们讲完了Web系统的外部网络环境,现在我们开始关注我们Web系统自身的性能问题。我们的Web站点随着访问量的上升,会遇到很多的挑战,解决这些问题不仅仅是扩容机器这么简单,建立和使用合适的缓存机制才是根本。

最开始,我们的Web系统架构可能是这样的,每个环节,都可能只有1台机器。

我们从最根本的数据存储开始看哈。

一、 MySQL数据库内部缓存使用

MySQL的缓存机制,就从先从MySQL内部开始,下面的内容将以最常见的InnoDB存储引擎为主。

1. 建立恰当的索引

最简单的是建立索引,索引在表数据比较大的时候,起到快速检索数据的作用,但是成本也是有的。首先,占用了一定的磁盘空间,其中组合索引最突出,使用需要谨慎,它产生的索引甚至会比源数据更大。其次,建立索引之后的数据insert/update/delete等操作,因为需要更新原来的索引,耗时会增加。当然,实际上我们的系统从总体来说,是以select查询操作居多,因此,索引的使用仍然对系统性能有大幅提升的作用。

2. 数据库连接线程池缓存

如果,每一个数据库操作请求都需要创建和销毁连接的话,对数据库来说,无疑也是一种巨大的开销。为了减少这类型的开销,可以在MySQL中配置thread_cache_size来表示保留多少线程用于复用。线程不够的时候,再创建,空闲过多的时候,则销毁。

其实,还有更为激进一点的做法,使用pconnect(数据库长连接),线程一旦创建在很长时间内都保持着。但是,在访问量比较大,机器比较多的情况下,这种用法很可能会导致“数据库连接数耗尽”,因为建立连接并不回收,最终达到数据库的max_connections(最大连接数)。因此,长连接的用法通常需要在CGI和MySQL之间实现一个“连接池”服务,控制CGI机器“盲目”创建连接数。

建立数据库连接池服务,有很多实现的方式,PHP的话,我推荐使用swoole(PHP的一个网络通讯拓展)来实现。

3. Innodb缓存设置(innodb_buffer_pool_size)

innodb_buffer_pool_size这是个用来保存索引和数据的内存缓存区,如果机器是MySQL独占的机器,一般推荐为机器物理内存的80%。在取表数据的场景中,它可以减少磁盘IO。一般来说,这个值设置越大,cache命中率会越高。

4. 分库/分表/分区。

MySQL数据库表一般承受数据量在百万级别,再往上增长,各项性能将会出现大幅度下降,因此,当我们预见数据量会超过这个量级的时候,建议进行分库/分表/分区等操作。最好的做法,是服务在搭建之初就设计为分库分表的存储模式,从根本上杜绝中后期的风险。不过,会牺牲一些便利性,例如列表式的查询,同时,也增加了维护的复杂度。不过,到了数据量千万级别或者以上的时候,我们会发现,它们都是值得的。 

二、 MySQL数据库多台服务搭建

1台MySQL机器,实际上是高风险的单点,因为如果它挂了,我们Web服务就不可用了。而且,随着Web系统访问量继续增加,终于有一天,我们发现1台MySQL服务器无法支撑下去,我们开始需要使用更多的MySQL机器。当引入多台MySQL机器的时候,很多新的问题又将产生。

1. 建立MySQL主从,从库作为备份

这种做法纯粹为了解决“单点故障”的问题,在主库出故障的时候,切换到从库。不过,这种做法实际上有点浪费资源,因为从库实际上被闲着了。

2. MySQL读写分离,主库写,从库读。

两台数据库做读写分离,主库负责写入类的操作,从库负责读的操作。并且,如果主库发生故障,仍然不影响读的操作,同时也可以将全部读写都临时切换到从库中(需要注意流量,可能会因为流量过大,把从库也拖垮)。

3. 主主互备。

两台MySQL之间互为彼此的从库,同时又是主库。这种方案,既做到了访问量的压力分流,同时也解决了“单点故障”问题。任何一台故障,都还有另外一套可供使用的服务。

不过,这种方案,只能用在两台机器的场景。如果业务拓展还是很快的话,可以选择将业务分离,建立多个主主互备。

三、 MySQL数据库机器之间的数据同步

每当我们解决一个问题,新的问题必然诞生在旧的解决方案上。当我们有多台MySQL,在业务高峰期,很可能出现两个库之间的数据有延迟的场景。并且,网络和机器负载等,也会影响数据同步的延迟。我们曾经遇到过,在日访问量接近1亿的特殊场景下,出现,从库数据需要很多天才能同步追上主库的数据。这种场景下,从库基本失去效用了。

于是,解决同步问题,就是我们下一步需要关注的点。

1. MySQL自带多线程同步

MySQL5.6开始支持主库和从库数据同步,走多线程。但是,限制也是比较明显的,只能以库为单位。MySQL数据同步是通过binlog日志,主库写入到binlog日志的操作,是具有顺序的,尤其当SQL操作中含有对于表结构的修改等操作,对于后续的SQL语句操作是有影响的。因此,从库同步数据,必须走单进程。

2. 自己实现解析binlog,多线程写入。

以数据库的表为单位,解析binlog多张表同时做数据同步。这样做的话,的确能够加快数据同步的效率,但是,如果表和表之间存在结构关系或者数据依赖的话,则同样存在写入顺序的问题。这种方式,可用于一些比较稳定并且相对独立的数据表。

国内一线互联网公司,大部分都是通过这种方式,来加快数据同步效率。还有更为激进的做法,是直接解析binlog,忽略以表为单位,直接写入。但是这种做法,实现复杂,使用范围就更受到限制,只能用于一些场景特殊的数据库中(没有表结构变更,表和表之间没有数据依赖等特殊表)。 

四、 在Web服务器和数据库之间建立缓存

实际上,解决大访问量的问题,不能仅仅着眼于数据库层面。根据“二八定律”,80%的请求只关注在20%的热点数据上。因此,我们应该建立Web服务器和数据库之间的缓存机制。这种机制,可以用磁盘作为缓存,也可以用内存缓存的方式。通过它们,将大部分的热点数据查询,阻挡在数据库之前。

1. 页面静态化

用户访问网站的某个页面,页面上的大部分内容在很长一段时间内,可能都是没有变化的。例如一篇新闻报道,一旦发布几乎是不会修改内容的。这样的话,通过CGI生成的静态html页面缓存到Web服务器的磁盘本地。除了第一次,是通过动态CGI查询数据库获取之外,之后都直接将本地磁盘文件返回给用户。

在Web系统规模比较小的时候,这种做法看似完美。但是,一旦Web系统规模变大,例如当我有100台的Web服务器的时候。那样这些磁盘文件,将会有100份,这个是资源浪费,也不好维护。这个时候有人会想,可以集中一台服务器存起来,呵呵,不如看看下面一种缓存方式吧,它就是这样做的。

2. 单台内存缓存

通过页面静态化的例子中,我们可以知道将“缓存”搭建在Web机器本机是不好维护的,会带来更多问题(实际上,通过PHP的apc拓展,可通过Key/value操作Web服务器的本机内存)。因此,我们选择搭建的内存缓存服务,也必须是一个独立的服务。

内存缓存的选择,主要有redis/memcache。从性能上说,两者差别不大,从功能丰富程度上说,Redis更胜一筹。

3. 内存缓存集群

当我们搭建单台内存缓存完毕,我们又会面临单点故障的问题,因此,我们必须将它变成一个集群。简单的做法,是给他增加一个slave作为备份机器。但是,如果请求量真的很多,我们发现cache命中率不高,需要更多的机器内存呢?因此,我们更建议将它配置成一个集群。例如,类似redis cluster。

Redis cluster集群内的Redis互为多组主从,同时每个节点都可以接受请求,在拓展集群的时候比较方便。客户端可以向任意一个节点发送请求,如果是它的“负责”的内容,则直接返回内容。否则,查找实际负责Redis节点,然后将地址告知客户端,客户端重新请求。

对于使用缓存服务的客户端来说,这一切是透明的。

内存缓存服务在切换的时候,是有一定风险的。从A集群切换到B集群的过程中,必须保证B集群提前做好“预热”(B集群的内存中的热点数据,应该尽量与A集群相同,否则,切换的一瞬间大量请求内容,在B集群的内存缓存中查找不到,流量直接冲击后端的数据库服务,很可能导致数据库宕机)。

4. 减少数据库“写”

上面的机制,都实现减少数据库的“读”的操作,但是,写的操作也是一个大的压力。写的操作,虽然无法减少,但是可以通过合并请求,来起到减轻压力的效果。这个时候,我们就需要在内存缓存集群和数据库集群之间,建立一个修改同步机制。

先将修改请求生效在cache中,让外界查询显示正常,然后将这些sql修改放入到一个队列中存储起来,队列满或者每隔一段时间,合并为一个请求到数据库中更新数据库。

除了上述通过改变系统架构的方式提升写的性能外,MySQL本身也可以通过配置参数innodb_flush_log_at_trx_commit来调整写入磁盘的策略。如果机器成本允许,从硬件层面解决问题,可以选择老一点的RAID(Redundant Arrays of independent Disks,磁盘列阵)或者比较新的SSD(Solid State Drives,固态硬盘)。

5. NoSQL存储

不管数据库的读还是写,当流量再进一步上涨,终会达到“人力有穷时”的场景。继续加机器的成本比较高,并且不一定可以真正解决问题的时候。这个时候,部分核心数据,就可以考虑使用NoSQL的数据库。NoSQL存储,大部分都是采用key-value的方式,这里比较推荐使用上面介绍过Redis,Redis本身是一个内存cache,同时也可以当做一个存储来使用,让它直接将数据落地到磁盘。

这样的话,我们就将数据库中某些被频繁读写的数据,分离出来,放在我们新搭建的Redis存储集群中,又进一步减轻原来MySQL数据库的压力,同时因为Redis本身是个内存级别的Cache,读写的性能都会大幅度提升。

国内一线互联网公司,架构上采用的解决方案很多是类似于上述方案,不过,使用的cache服务却不一定是Redis,他们会有更丰富的其他选择,甚至根据自身业务特点开发出自己的NoSQL服务。

6. 空节点查询问题

当我们搭建完前面所说的全部服务,认为Web系统已经很强的时候。我们还是那句话,新的问题还是会来的。空节点查询,是指那些数据库中根本不存在的数据请求。例如,我请求查询一个不存在人员信息,系统会从各级缓存逐级查找,最后查到到数据库本身,然后才得出查找不到的结论,返回给前端。因为各级cache对它无效,这个请求是非常消耗系统资源的,而如果大量的空节点查询,是可以冲击到系统服务的。

在我曾经的工作经历中,曾深受其害。因此,为了维护Web系统的稳定性,设计适当的空节点过滤机制,非常有必要。

我们当时采用的方式,就是设计一张简单的记录映射表。将存在的记录存储起来,放入到一台内存cache中,这样的话,如果还有空节点查询,则在缓存这一层就被阻挡了。

异地部署(地理分布式)

完成了上述架构建设之后,我们的系统是否就已经足够强大了呢?答案当然是否定的哈,优化是无极限的。Web系统虽然表面上看,似乎比较强大了,但是给予用户的体验却不一定是最好的。因为东北的同学,访问深圳的一个网站服务,他还是会感到一些网络距离上的慢。这个时候,我们就需要做异地部署,让Web系统离用户更近。

一、 核心集中与节点分散

有玩过大型网游的同学都会知道,网游是有很多个区的,一般都是按照地域来分,例如广东专区,北京专区。如果一个在广东的玩家,去北京专区玩,那么他会感觉明显比在广东专区卡。实际上,这些大区的名称就已经说明了,它的服务器所在地,所以,广东的玩家去连接地处北京的服务器,网络当然会比较慢。

当一个系统和服务足够大的时候,就必须开始考虑异地部署的问题了。让你的服务,尽可能离用户更近。我们前面已经提到了Web的静态资源,可以存放在CDN上,然后通过DNS/GSLB的方式,让静态资源的分散“全国各地”。但是,CDN只解决的静态资源的问题,没有解决后端庞大的系统服务还只集中在某个固定城市的问题。

这个时候,异地部署就开始了。异地部署一般遵循:核心集中,节点分散。

· 核心集中:实际部署过程中,总有一部分的数据和服务存在不可部署多套,或者部署多套成本巨大。而对于这些服务和数据,就仍然维持一套,而部署地点选择一个地域比较中心的地方,通过网络内部专线来和各个节点通讯。

· 节点分散:将一些服务部署为多套,分布在各个城市节点,让用户请求尽可能选择近的节点访问服务。

例如,我们选择在上海部署为核心节点,北京,深圳,武汉,上海为分散节点(上海自己本身也是一个分散节点)。我们的服务架构如图:

需要补充一下的是,上图中上海节点和核心节点是同处于一个机房的,其他分散节点各自独立机房。 

国内有很多大型网游,都是大致遵循上述架构。它们会把数据量不大的用户核心账号等放在核心节点,而大部分的网游数据,例如装备、任务等数据和服务放在地区节点里。当然,核心节点和地域节点之间,也有缓存机制。 

二、 节点容灾和过载保护

节点容灾是指,某个节点如果发生故障时,我们需要建立一个机制去保证服务仍然可用。毫无疑问,这里比较常见的容灾方式,是切换到附近城市节点。假如系统的天津节点发生故障,那么我们就将网络流量切换到附近的北京节点上。考虑到负载均衡,可能需要同时将流量切换到附近的几个地域节点。另一方面,核心节点自身也是需要自己做好容灾和备份的,核心节点一旦故障,就会影响全国服务。

过载保护,指的是一个节点已经达到最大容量,无法继续接接受更多请求了,系统必须有一个保护的机制。一个服务已经满负载,还继续接受新的请求,结果很可能就是宕机,影响整个节点的服务,为了至少保障大部分用户的正常使用,过载保护是必要的。

解决过载保护,一般2个方向:

· 拒绝服务,检测到满负载之后,就不再接受新的连接请求。例如网游登入中的排队。

· 分流到其他节点。这种的话,系统实现更为复杂,又涉及到负载均衡的问题。

小结

Web系统会随着访问规模的增长,渐渐地从1台服务器可以满足需求,一直成长为“庞然大物”的大集群。而这个Web系统变大的过程,实际上就是我们解决问题的过程。在不同的阶段,解决不同的问题,而新的问题又诞生在旧的解决方案之上。

系统的优化是没有极限的,软件和系统架构也一直在快速发展,新的方案解决了老的问题,同时也带来新的挑战。

php接收post数据后,并以第一个数据做为文件名保存数据

SQLSERVER主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器 SQLSERVER复制技术类型 SQLSERVER提供了三种复制技术,分别是: 1、快照复制(呆会我们就使用这个) 2、事务复制 3、合并复制 只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。接下来我们就一步一步来实现复制的步骤。 第一先来配置出版服务器 (1)选中指定[服务器]节点 (2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令 (3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成。 (4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。同时也生成一个分发数据库(distribution) 第二创建出版物 (1)选中指定的服务器 (2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。此时系统会弹出一个对话框 (3)选择要创建出版物的数据库,然后单击[创建发布] (4)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助) (5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQLSERVER2000"的数据库服务器 (6)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表 (7)然后[下一步]直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。 第三设计订阅 (1)选中指定的订阅服务器 (2)从[工具]下拉菜单中选择[复制]子菜单的[请求订阅] (3)按照单击[下一步]操作直到系统会提示检查SQLSERVER代理服务的运行状态,执行复制操作的前提条件是SQLSERVER代理服务必须已经启动。 (4)单击[完成]。完成订阅操作。 完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开

C:/ProgramFiles/MicrosoftSQLServer/MSSQL/REPLDATA/unc/XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表

谁能告诉我所有的扩展名分别代表什么啊?

★常用文件扩展名列表

A 对象代码库文件

AAM Authorware shocked文件

AAS Authorware shocked包

ABF Adobe二进制屏幕字体

ABK CorelDRAW自动备份文件

ABS 该类文件有时用于指示一个摘要(就像在一篇有关科学方面的文章的一个摘要或概要,取自abstract)

ACE Ace压缩档案格式

ACL CorelDRAW 6键盘快捷键文件

ACM Windows系统目录文件

ACP Microsoft office助手预览文件

ACR 美国放射医学大学文件格式

ACT Microsoft office助手文件

ACV OS/2的驱动程序,用于压缩或解压缩音频数据

AD After Dark屏幕保护程序

ADA Ada源文件(非-GNAT)

ADB Ada源文件主体(GNAT);HP100LX组织者的约定数据库

ADD OS/2用于引导过程的适配器驱动程序

ADF Amiga磁盘文件

ADI AutoCAD设备无关二进制绘图仪格式

ADM After Dark多模块屏幕保护;Windows NT策略模板

ADP FaxWork用于传真调制解调器的交互安装文件;Astound Dynamite文件

ADR After Dark随机屏幕保护;Smart Address的地址簿

ADS Ada源文件说明书(GNAT)

AFM Adobe的字体尺度

AF2,AF3 ABC的FlowChat文件

AI Adobe Illustrator格式图形

AIF,AIFF 音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式

AIFC 压缩AIF

AIM AOL即时信息传送

AIS ACDSee图形序列文件;Velvet Studio设备文件

AKW RoboHELP的帮助工程中所有A-关键词

ALAW 欧洲电话音频格式

ALB JASC Image Commander相册

ALL 艺术与书信库

AMS Velvet Studio音乐模块(MOD)文件;Extreme的Tracker模块文件

ANC Canon Computer的调色板文件,包含一系列可选的颜色板

ANI Windows系统中的动画光标

ANS ANSI文本文件

ANT SimAnt For Windows中保存的游戏文件

API Adobe Acrobat使用的应用程序设计接口文件

APR Lotus Approach 97文件

常用文件扩展名及含义(B开头)

BIN 二进制文件

BK,BK$ 有时用于代表备份版本

BKS IBM BookManager Read书架文件

BMK 书签文件

BMP Windows或OS/2位图文件

BMI Apogee BioMenace数据文件

BOOK Adobe FrameMaker Book文件

BOX Lotus Notes的邮箱文件

BPL Borlard Delph 4打包库

BQY BrioQuery文件

BRX 用于查看多媒体对象目录的文件

BSC MS Developer Studio浏览器信息文件

BSP Quake图形文件

BS1 Apogee Blake Stone数据文件

BS_ Microsoft Bookshelf Find菜单外壳扩展名

BTM Norton 应用程序使用的批处理文件

BUD Quicken的备份磁盘

BUN CakeWalk 声音捆绑文件(一种MIDI程序)

BW SGI黑白图像文件

BWV 商业波形文件

BYU BYU的电影文件格式

B4 Helix Nuts and Bolts文件

常用扩展名及含义(C开头)

C C代码文件

C0l 台风波形文件

CAB Microsoft压缩档案文件

CAD Softdek的Drafix CAD文件

CAL CALS压缩位图;日历计划表数据

CAM Casio照相机格式

CAP 压缩音乐文件格式

CAS 逗号分开的ASCⅡ文件

CAT Quicken使用 的IntellCharge分类文件

CB Microsoft干净引导文件

CBI 二进制卷格式文件(用于IBM大型机系统)

CC Visual dBASE用户自定义类文件

CCA cc:邮件文件

CCB Visual Basic动态按钮配置文件

CCF 多媒体查看器配置文件,用于OS/2

CCH Corel图表文件

CCM Lotus cc:邮箱(例如“INBOX.CCM”)

CCO CyberChat数据文件

CCT Macromedia Director Shockwave投影

CDA CD音频轨道

CDF Microsoft频道定义格式文件

CDI Philip的高密盘交互格式

CDM Visual dBASE自定义数据模块文件

CDR CorelDRAW绘图文件;原始音频CD数据文件

CDT CorelDRAW模板

CDX CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件

CEL CIMFast事件语言文件

CER 证书文件(MIME x-x509-ca-cert)

CFB Compton的多媒文件

CFG 配置文件

CFM CotdFusion模板文件;Visual dBASE Windows用户定制表单

CGI 公共网关接口脚本文件

CGM 计算机图形元文件

CH OS/2配置文件

CHK 由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片

CHM 编译过的HTML文件

CHR 字符集(字体文件)

CHP Ventura Publisher章节文件

CHT ChartViem文件;Harvard Graphics矢量文件

CIF Adaptec CD 创建器 CD映像文件

CIL Clip Gallery下载包

CIM SimCity 2000文件

CIN OS/2改变控制文件用于跟踪INI文件中的变化

CK1 iD/Apogee Commander Keen 1数据文件

CK2 iD/Apogee Commander Keen 2数据文件

CK3 iD/Apogee Commander Keen 3数据文件

CK4 iD /Apogee Commander Keen 4数据文件

CK5 iD /Apogee Commander Keen 5数据文件

CK6 iD /Apogee Commander Keen 6数据文件

CLASS Java类文件

CLL Crick Software Clicker文件

CLP Windows 剪贴板文件

CLS Visual Basic类文件

CMD Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件

CMF Corel元文件

CMG Chessmaster保存的游戏文件

CMP JPEG位图文件;地址文档

CMV Corel Move动画文件

CMX Corel Presentation Exchange图像

CNF Telnet,Windows和其他其内格式会发生改变的应用程序使用的配置文件

CNM Windows应用程序菜单选项和安装文件

CNQ Compuworks Design Shop文件

CNT Windows(或其他)系统用于帮助索引或其他目的内容文件

COB TrueSpace 2对象文件

COD Microsoft C编译器产生的可显示机器码/汇编代码文件,其中附有源C代码作为注释

COM 命令文件(程序)

CPD,CPE 传真覆盖文档

CPI Microsoft MS-DOS代码页信息文件

CPL 控制面板扩展名,Corel颜色板

CPO Corel打印存储文件

CPP C++代码文件

CPR Corel提供说明书文件

CPT Corel 照片-绘画图像

CPX Corel Presentation Exchange压缩图形文件

CRD Windows Cardfile文件

CRP Corel 提供的运行时介绍文件;Visual dBASE自定义报表文件

CRT 认证文件

CSC Corel脚本文件

CSP PC Emcee On_Screen图像

CSS 瀑布式表格文件

CST Macromedia Director Cast文件

CSV 逗号分隔的值文件

CT Scitex CT位图文件;Paint Shop Pro Grapic编辑器文件

CTL 通常用于表示一个包含控件信息的文件;FaxWork用它来保持有关每个传真收到或发出的信息

CUE Microsoft提示牌数据文件

CUR Windows光标文件

CUT Dr Halo位图文件

CV Corel版本的档案文件;Microsoft CodeView信息屏幕文件

CWK ClarisWorks数据文件.

CWS ClarisWorks模块

CXT Macromedia Director受保护的(不可编辑的)投影文件

CXX C++源代码文件

常用扩展名及含义(D开头)

DAT 数据文件;WrodPerfect合并数据文件;用于一些MPEG格式的文件

DB Borland的Paradox 7表

DBC Microsoft Visual FoxPro数据库容器文件

DBF dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel 97打开);Oracle 8.1.x表格空间文件

DBX DataBearn图像;Microsoft Visual FoxPro表格文件

DCM DCM模块格式文件

DCR 冲击波文件

DCS 桌面颜色分隔文件

DCT Microsoft Visual FoxPro数据库容器

DCU Delphi编译单元文件

DCX Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏

DC5 DataCAD绘图文件

DDF Btrieve或Xtrieve数据定义文件,它包含用于描述Btrieve或Xtrieve文件的元数据

DDIF Digital Equipment或 Compaq格式,用于保存他们图像与字处理文档

DEF SmartWareⅡ数据文件;C++模块定义文件

DEFI Oracle 7 卸载脚本文件

DEM 用于表示数字高度模型的USGS基准的文件

DER 认证文件

DEWF Macintosh Sound Cap/Sound Edit录音设备格式

DGN Macintosh 95 CAD绘图文件

DIB 设备无关位图

DIC 目录

DIF 可进行数据互换的电子表格

DIG DigiLink格式;Sound DesignerⅠ音频文件

DIR MacromediaDirector文件

DIZ 描述文件

DLG C++对话框脚本文件

DLL 动态链接库

DLS 可下载声音文件

DMD Visual dBASE数据模块文件

DMF X-Trakker音乐模块(MOD)文件

DOC FrameMaker或FrameBuilder文档;Word Star文档、Word Perfect文档、Microsoft Word文档;DisplayWrite文档

DOT Microsoft Word文档模板

DPL Borland Delph3压缩库

DPR Borland Delphi工程头文件

DRAW Acorn的基于对象的矢量图像文件

DRV 驱动程序

DRW Micrografx Designer/Draw;Pro/E绘画文件

DSF Micrografx Designer VFX文件

DSG DOOM保存的文件

DSM Dynamic Studio音乐模块(MOD)文件

DSP Microsoft Developer Studio工程文件

DSQ Corel QUERY(查询)文件

DST 刺绣机图形文件

DSW Microsoft Developer Studio工作区文件

DTA Word Bank(世界银行)的STARS数据文件

DTD SGML文档类型定义(DTD)文件

DTED 地面高度数字数据(图形的数据格式)文件

DTF Symantec QA相关的数据库数据文件

DTM DigiTrakker模块文件

DUN Microsoft拔号网络导出文件

DV 数字视频文件(MIME)

DWD DiamondWare数字化文件

DWG AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式

DXF 可进行互交换的绘图文件格式,二进制的DWG格式的文本表示;数据交换文件

DXR Macromedia Director受保护(不可编辑)电影文件

D64 Commodore的64位模拟磁盘图像文件

常用扩展名及含义(E开头)

EDA Ensoniq ASR磁盘映像

EDD 元素定义文档(FrameMaker+SGML文档)

EDE Ensoniq EPS磁盘映像

EDK Ensoniq KT磁盘映像

EDQ Ensoniq SQ1/SQ2/Ks32磁盘映像

EDS Ensoniq SQ80磁盘映像

EDV Ensoniq VFX-SD磁盘映像

EFA Ensoniq ASR文件

EFE Ensoniq EPS文件

EFK Ensoniq KT文件

EFQ Ensoniq SQ1/SQ2/Ks32文件

EFS Ensoniq SQ80文件

EFV Ensoniq VFX-SD文件

EMD ABT扩展模块

EMF Windows增强元文件

EML Microsoft Outlook Express邮件消息(MIME RTC822)文件

ENC 重演文件

ENFF 中性文件格式扩展名

EPHTML Perl解释增强HTML文件

EPS 压缩的PostScript图像

EPSF 压缩的PostScript文件

ERI ERWin文件

ERR 当RobooHELP帮助编译器企图编译一个帮助系统源文件时用来存储错误消息的文件

EPX ERWin文件

ESPS ESPS音频文件

EUI Ensoniq ESP家族的压缩磁盘映像

EVY 特使文档

EWL Microsoft Encarta文档

EXC Microsoft Word禁止字字典

EXE 可执行文件(程序)

常用扩展名及含义(F开头)

F FORTRAN文件

F2R Farandoyle线性模块格式

F3R Farandoyle分块线性模块格式

F77 FORTRAN文件

F90 FORTRAN文件

FAR Fradole Composer音乐模块(MOD)文件

FAV Microsoft Outlook导航条

FAX 传真类型图像

FBK Navison 金融备份

FCD 虚拟CD-ROM

FDB Navison 金融数据库

FDF Adobe Acrobat表单文档文件

FEM CADRE有限元素网络文件

FFA,FFL,FFO,FFK Microsoft快速查找文件

FFF GUS PnP银行文件格式

FH3 Aldus Freehand 3绘图文件

FIF Fractal图像文件

FIG REND386/AVRIL使用的文件格式

FITS CCD照相机图像;灵活图像传输系统

FLA Macromedia Flash电影

FLC Autodesk FLIC动画文件

FLF Corel Paradox产生的格式:Navison Financials许可文件;OS/2驱动程序文件

PLI Autodesk FLIC动画

FLT StarTrekker音乐模块(MOD)文件;MultiGen Inc的Open Flight使用的文件格式;Corel过滤器文件

FM Adobe FrameMaker文档

FMB Oracle4.0版或以后版本表单的二进制源代码文件

FML 文件镜象列表(GetRight)

FMT Oracle 4.0版或以后版本表单的文本格式;Microsoft Schedule+ 打印文件

FMX Oracle 4.0版或以后版本可执行表单

FND Microsoft Explorer保存的搜索文件(Find applet)

FNG 字体组文件(字体导航器,Font Navigator)

FNK Funk Tracker模块格式

FOG Fontographer模块字体

FON 系统字体

FOR FORTRAN文件

FOT 字体相关文件

FP FileMaker Pro文件

FP1 Flying Pigs for Windows数据文件

FP3 FileMaker Pro文件

FPT FileMaker Pro文件;Microsoft Fox Pro备注字体文件

FPX FlashPix位图

FRM 表单;Frame Maker或Frame Builder文档;Oracle可执行表(3.0版或早期版本);Visual Basic表单;WordPerfect Merge表单;DataCAD标志报表文件

FRT Microsoft FoxPro报表文件

FRX Visual Basic表单文本;Microsoft FoxPro报表文件

FSF fPrint Audit Tool文件格式

FSL Borland的Paradox 7表单;Corel Paradox保存的表单

FSM Parandoyle示例格式

FT Lotus Notes全文本索引

FTG 全文本搜索组文件,由Windows帮助系统查找时产生——可以删除,并在需要时重建起来

FTS 全文本搜索引文件,由Windows帮助系统查找时产生

FW2 Framework Ⅱ文件

FW3 Framework Ⅲ文件

FW4 Framework Ⅳ文件

FXP 经Microsoft FoxPro编译的源文件

FZB Casio FZ-1银行转储

FZF Casio FZ-1完全转储

FZV Casio FZ-1声音转储

常用扩展名及含义(G开头)

G721 Raw CCITT G.721 $bit ADPCM格式数据

G723 Raw CCITT G.723 3或5bit ADPCM格式数据

GAL Corel多媒体管理器相集

GCD Generic CADD绘画文件(后续版本)

GCP Ground Control Point(地面控制点)文件,用于远景数据形成图像过程,经常用于生成图工程—CHIPS(copenhagen image processing system)使用这些文件

GDB InterBase数据库文件

GDM 铃声、口哨声和声音板模块格式

GED GEDCOM 系谱数据文件,用于记录和交换系谱数据的流行格式;图形环境文档绘画

GEM GEM元文件

GEN Ventura产生的文本文件

GetRight GetRight未完成的下载文件

GFC PattonPatton FlowCharting 4 flowchart文件

GFI,GFX Genigraphics图形链接表示文件

GHO Norton 克隆磁盘映像

GID Windows 95全局索引文件(包括帮助状态)

GIF CompuServe位图文件

GIM,GIX Genigraphics图形链接介绍文件

GKH Ensoniq EPS家簇磁盘映像文件

GNA Genigraphics图形链接介绍文件

GNT 生成代码,Micro Focus属性格式里的可执行代码

GNX Genigraphics图形链接介绍文件

GRA Microsoft Graph文件

GRD 用于远程视景数据产生地图过程的格式文件,通常应用于形成地图工程—CHIPS(copenhagen image processing system)使用这些文件

GRF Grapher(Golden Software公司)图形文件

GRP 程序管理组

GSM Raw GSM 6.10音频流;Raw“byte aligned(比特对齐的)” GSM 6.10音频流;US Robotics语音调制解调器

GTK Graoumftracker(老)音乐模块(MOD)文件

GT2 Graoumftracker(新)音乐模块(MOD)文件

GWX,GWZ Cenigraphis图形链接介绍文件

GZ UNIX gzip压缩文件

常用扩展名及含义(H开头)

H C程序头文件

HCM IBM HCM配置文件

HCOM 声音工具HCOM格式

HCR IBM HCD/HCM产品配置文件

HDF 高级计算机应用程序本地中心(NCSA) geospatial Hierarchial数据格式文件

HED HighEdit文档

HEL Microsoft Hellbender格式保存的游戏文件

HEX Macintosh BinHex2.0文件

HGL HP图形语言绘图文件

HH 映射文件,包括一些话题ID和在帮助文件系统中话题的映射数字—允许运行中应用程序发送给用户合适的上下文帮助话题

HLP 帮助文件;Date CAD Windows帮助文件

HOG Lucas Arts的Dark Forces WAD文件

HPJ Visual Basic帮助工程

HPP C++程序头文件

HQX Macintosh BinHex 4.0文件

HST 历史文件

HT HyperTerminal(超级终端)

HTM,HTML 超文本文档

HTT Microsoft超文本模板

HTX 扩展HTML模板

HXM Descent2 HAM文件扩展

常用扩展名及含义(I开头)

ICA Citrix文件

ICB Targa位图文件

ICC Kodak打印机格式文件

ICL 图标库文件

ICM 图形颜色匹配配置文件

ICO Windows图标

IDB MSDev中间层文件

IDD MIDI设备定义

IDF MIDI设备定义(Windows 95需要的文件)

IDQ Internet数据查询文件

IDX Microsoft FoxPro相关数据库索引文件;Symantec QA相关数据库索引文件;Microsoft Outlook Express文件

IFF 交换格式文件;Amiga ILBM

IGES 初始图形交换说明文件

IGF 插入系统元文件

IIF QuickBooks for Windows交换文件

ILBM 位图图形文件

IMA WinImage磁盘映像文件

IMG GEM映像

IMZ WinImage压缩磁盘映像文件

INC 汇编语言或动态服务器包含文件

INF 信息文件

INI 初始化文件;MWave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装

INP Oracle 3.0版或早期版本的表单源代码

INRS INRS远程通信声频

INS InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备

INT 中间代码,当一个源程序经过语法检查后编译产生一个可执行代码

IOF Findit文档

IQY Microsoft Internet查询文件

ISO 根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件

ISP X-Internet签字文件

IST 数字跟踪设备文件

ISU InstallShield卸装脚本

IT 脉冲跟踪系统音乐模块(MOD)文件

ITI 脉冲跟踪系统设备

ITS 脉冲跟踪系统抽样,Internet文档位置

IV Open Inventor中使用的文件格式

IVD 超过20/20微观数据维数或变量等级文件

IVP 超过20/20的用户子集配置文件

IVT 超过20/20表或集合数据文件

IVX 超过20/20微数据目录文件

IW Idlewild屏幕保护程序

IWC Install Watch文档

常用扩展名及含义(J开头)

J62 Ricoh照相机格式

JAR Java档案文件(一种用于applet和相关文件的压缩文件)

JAVA Java源文件

JBF Paint Shop Pro图像浏览文件

JFF,JFIF,JIF JPEG文件

JMP SAS的JMPDiscovery表格统计文件

JN1 Epic MegaGames的Jill of the Jungle数据文件

JPE,JPEG,JPG JPEG图形文件

JS javascript源文件

JSP HTML网页,其中包含有对一个Java servlet的参考

JTF JPEG位图文件

常用扩展名及含义(K开头)

K25 Kurzweil 2500抽样文件

KAR 卡拉OK MIDI文件(文本+MIDI)

KDC Kodak光增强器

KEY DataCAD图标工具条文件

KFX KoFak Group 4图像文件

KIZ Kodak数字明信片文件

KKW RoboHELP帮助工程索引设计器中与主题无关的K开头的所有关键字

KMP Korg Trinity KeyMap文件

KQP Konica照相机本地文件

KR1 Kurzweil 2000抽样(多软驱)文件

KRZ Kurzweil 2000抽样文件

KSF Korg Trinity抽样文件

KYE Kye游戏数据

常用扩展名及含义(L开头)

LAB Visual dBASE标签文件

LBM Deluxe Paint位图文件

LBT,LBX Microsoft FoxPro标签文件

LDB Microsoft Access加锁文件

LDL Corel Paradox分发库

LEG Legacy文档

LES Logitech娱乐系统游戏配置文件(与REC文件一样)

LFT 3D Studio(DOS)放样文件

LHA LZH更换文件后缀

LIB 库文件

LIN DataCAD线型文件

LIS 结构化查询报告(SQR)程序产生的输出文件

LLX Laplink交换代理

LNK Windows快捷方式文件

LOG 日志文件

LPD Helix Nut和Bolt文件

LRC Intel可视电话文件

LSL Corel Paradox保存的库文件

LSP AutoLISP、CommonLISP和其他LISP语言文件

LST 列表文件

LU ThoughtWing库单元文件

LVL Parallax Software的 Miner Descent/D2 Level扩展

LWLO Lightwave分层对象文件

LWOB Lightwave对象文件

LWP Lotus WordPro 96/97文件

LWSC Lightwave视景文件

LYR DataCAD层文件

LZH LH ARC压缩档案

LZS Skyroads数据文件

常用扩展名及含义(M开头)

M1V MPEG相关文件(MIME“mpeg”类型)

M3D Corel Motion 3D动画文件

M3U MPEG URL(MIME声音文件)

MAC MacPaint图像文件

MAD Microsoft Access模块文件

MAF Microsoft Access表单文件

MAG 在一些日本文件中发现的图形文件格式

MAGIC 魔力邮件监视器配置文件

MAK Visual Basil或Microsoft Visual C++工程文件

MAM Microsoft Access宏

MAN UNIX手册页输出

MAP 映射文件;Duke Nukem 3D WAD游戏文件

MAQ Microsoft Access查询文件

MAR Microsoft Access报表文件

MAS Lotus Freelance Graphics Smart Master文件

MAT Microsoft Access表;3D Studio MAX材料库

MAUD MAUD抽样格式

MAX Kinetx的3DStudio MAX文件;该格式用于一个3D场景文件;Paperport文件;OrCAD设计文件

MAZ Hover迷路数据;Division的dVS/dVISE使用的文件格式

MB1 Apogee Monster Bash数据文件

MBOX Berkeley Unix邮箱格式

MBX Microsoft Outlook保存email格式;Eudora邮箱

MCC Dailerl0呼叫卡

MCP Metrowerks CodeWarrior工程文件

MCR DataCAD键盘宏文件

MCW Microsoft Word的Macintosh文档

MDA Microsoft Access内抽入器;Microsoft Access 2.0版及其后续版本的工作组事件

MDB Microsoft Access数据库

MDE Microsoft Access MDE文件

MDL 数字跟踪器音乐模块(MOD)文件;Quake模 块文件

MDN Microsoft Access空数据库模板

MDW Microsoft Access工作组文件

MDZ Microsoft Access向导模板文件

MED 音乐编辑器,OctaMED音乐模块(MOD)文件

MER 电子表格/数据库数据交换格式;FileMaker、Excel及其他软件能识别

MET 表示管理器元文件

MFG Pro/ENGINEER制造文件

MGF 在材料与几何学里的文件格式

MHTM,MHTML MHTML文档(MIME)

MI 杂项

MIC Microsoft Image Composer文件

MID MIDI音乐

MIF Adobe FramMaker交换格式

MIFF 与机器无关格式文件

MIM,MIME,MME Internet邮件扩展格式的多用途文件,经常作为发送e-mail时在AOL里附件而创建的文件;在一个多区MIM文件里的文件能用WinZip或其他类似程序打开

MLI 3D Studio的材料库格式文件

MMF Meal Master格式;一个处方类格式;Microsoft邮件文件

MMG 超过20/20表或集会数据文件

MMM Microsoft多媒体电影

MMP Mindmapor Mind Manager文件

MN2 Descent2任务文件

MND,MNI Mandelbort for Windows

MNG 多映像网络图形

MNT,MNX Microsoft FoxPro菜单文件

MNU Visual dBASE菜单文件;Intertel Systems Interact菜单文件

MOD Fast Tracker、Star Trekker、Noise Tracker(等等)音乐模块文件;Microsoft多计划电子表格;Amiga/PC磁道文件

MOV QuickTime for Windows电影

MP2 第二层MPEG音频文件

MP3 第三层MPEG音频文件

MPA MPEG相关文件,MIME“mpeg类型”

MPE,MPEG,MPG MPEG动画文件

MPP Microsoft工程文件;CAD绘图文件格式

MPR Microsoft FoxPro菜单(已编译)

MRI MRI扫描文件

MSA 魔术阴影档案

MSDL Manchester的场景描述语言

MSG Microsoft邮件消息

MSI Windows 安装器包

MSN Microsoft网络文档;Descent Mission文件

MSP Microsoft Paint(画图)位图文件;Windows Installer路径文件

MST Windows 安装器传输文件

MTM Multi 跟踪器音乐模块(MOD)文件

MUL Ultima在线

MUS 音乐

MUS10 Mus10声音

MVB Microsoft多媒体查看器文件

MWP Lotus WordPro 97 Smart Master文件

常用扩展名及含义(N开头)

NAP NAP元文件

NCB Microsoft Developer Studio文件

NCD Norton改变目录

NCF NetWare命令文件;Lotus Notes内部剪切板

NDO 3D 低多边形建模器,Nendo

netCDF 网络公用数据表单

NFF 中性文件格式

NFT NetObject Fusion模板文件

NIL Norton光标库文件(EasyIcons-兼容)

NIST NIST Sphere声音

NLB Oracle 7数据

NLM NetWare可装载模块

NLS 用于本地化的国家语言支持文件(例如,Uniscape)

NLU Norton Live Update e-mail 触发器文件

NOD NetObject Fusion文件

NSF Lotus Notes数据库

NSO NetObject Fusion文档文件 t多媒体查看器文件

MWP Lotus WordPro 97 Smart Master文件

NST Noise Tracker音乐模块(MOD)文件

NS2 Lotus Notes数据库(第二版)

NTF Lotus Notes数据库模板

NTX CA-Clipper索引文件

NWC Noteworthy Composer歌曲文件

NWS Microsoft Outlook Express新闻消息(MIME RFC822)

常用扩展名及含义(O开头)

O01 台风声音文件

OBD Microsoft Office活页夹

OBJ 对象文件

OBZ Microsoft Office活页夹向导

OCX Microsoft对象链接与嵌入定制控件

ODS Microsoft Outlook Express邮箱文件

OFF 3D 网状物对象文件格式

OKT Oktalyzer音乐模块(MOD)文件

OLB OLE对象库

OLE OLE对象

OOGL 面向对象图形库

OPL 组织者编程语言源文件——Psion/Symbian

OPO OPL输出可执行文件

OPT Microsoft Developer Studio文件

OPX OPL扩展DLL(动态链接库)

ORA Oracle 7 配置文件

ORC Oracle 7脚本文件

ORG Lotus Organ

PHP怎么写IOS分发

这个先说原理!就是PHP返回一个URL给IOS端。然后IOS端接收并下载缓存显示!OK

用PHP 编写支持高并发的网站,需要做什么处理

一般来说,解决WEB高并发的有效手段都是采用可线性扩展的多层分布式架构,

我生产项目的架构是这样的,就在这里抛砖引玉一下。

Webserver (Nginx) :这一层是可以轻松分布式部署的,结合智能DNS解析可以简易地防止单点故障、实现区域访问加速,结合LVS很容易实现负载均衡。这一层主要是负责处理静态请求和转发PHP请求至第二层的PHP处理节点,至于静态资源地址()可以单独拿出来部署,或者直接使用商用的云存储服务(国内七牛不错,国外有Amazon S3)

PHP处理节点:一个节点其实就是一个监听特定端口的系统进程,webserver的请求通过负载均衡器(我用的AWS的loadbalancer)进行分发,很好实现分布式和负载均衡。我现在用的还是php自带的php-fpm,其实facebook出的hhvm性能非常强悍,但是还不能100%通过我项目的单元测试,等hhvm成熟过后可以平滑替换

高速缓存:用的memcached,这一层的作用主要是减轻数据库IO和加快热数据访问,缓存策略与程序耦合度较高,不赘述,但简单地说有两种方式,一种是在程序的全局层面加一个缓存处理,这种方法代码耦合度低,但是有效命中率不高,有些项目不一定适应,另一种是在具体的数据存取处加缓存处理,这种办法程序耦合度较高,但是缓存命中率非常高,几乎没有无效缓存存在,我用的是这种。

数据库 :我现在的项目数据规模不大,暂时只用了单台数据库,但是程序逻辑上已做好了数据库线性扩展的准备。其实数据库层的扩展是老生常谈了,常用手段是分库分表,这一块需要在前期的代码就打下基础,另外更平滑地手段是使用中间件,比如360的Atlas,阿里巴巴的cobar,淘宝的TDDL,中间件可以在不大范围变更代码的情况下扩展,但是具体的使用场景还是有限的,具体项目还需单独考察。

其他:根据不同的项目,架构还可以选择性地使用队列,我现在用的beantalkd,Redis也是一个很好的选择。队列常用的使用环境是邮件发送和站内消息推送上面,但是在某些场景下也可以作为核心数据库的缓冲,对应对大并发或者突发性流量也是不错的选择

PHP软件开发程序拓展的五大方法?

相信大多数程序员都有过对程序进行拓展的一些操作了,但是对于新手工程师来说这还是比较难的一个技术。今天,云南java培训就通过案例分析来了解和学习一下,PHP编程拓展的方法都有哪些。

1.使用PHP的APC特性。APC——AlternativePHPCache,虽然官方称为“可选PHP缓存”,但是称为“另一个PHP缓存也不为过”,因为它可以切实的提升网站的性能。

2.把所有不是.php的请求都分配给CDN(内容分发网络),不要使用你的服务器处理静态文件。他们使用S3来存储所有,并使用CloudFront作为他们的CDN。近CloudFront出现的一些问题迫使他们不得不直接使用S3服务。

3.切勿将PHP代码里的链接指向其它的服务器。比如数据库以及memcache服务器,除非是强制性的或者是没有其它方法实现你的目的。在执行流中让链接指向其它服务器是非常没有效率的:可能会使服务器受到限制,从而降低处理的速度。使用APC键/值存储来储存数据,并使用Barnish来缓存整个页面。

4.使用Varnish。一般情况下,站点上的所有网页都不会改变或者是不会做大型的改动。Varnish就对于网络服务器缓存有着Memcache/ModRewrite的作用。同样在压力测试中,使用前后的性能差异很大。

5.使用更大的服务器实例,比如c1.xlarge有8个核心可以应对负载,而m1.medium只有一个核心可以处理请求。

可以使用GoogleAnalytics来分析每个用户在每个页面上花费的时间。收集这些信息,使用Siege来运行压力测试,从而不断的熟悉自己业务的负载类型,以便更好的提升程序的扩展性。


当前题目:php数据分发,php流量转发
转载源于:http://cdkjz.cn/article/phescd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220