导航:首页 > IDC知识 > 高性能web服务器

高性能web服务器

发布时间:2021-03-30 22:33:51

1、配置一台高性能服务器电脑主机,这样的配置有什么问题么,请大家指教!

我不知道你的服务器是用于什么作用,如果是用于存储网络文件、数据库存储、WEB服务器、邮箱服务器之类,那建议你使用品牌服务器最好,即使组装服务器,一般服务器专用主板是集显的,无需额外增加高性能显卡,这样会拉慢服务器应有的性能(服务器可不像PC机),作为硬盘,最好选用SAS硬盘,这种接口在服务器上还是占主流,它的性能快,并一样可以做陈列,也可支持大容量硬盘。

2、构建高性能WEB站点怎么样

首先,建议题主对这个网站的流量成长进行预测,如果是一个startup公司,一开始很难有这个么高的并发需求的。你们真正要做的是规划一条技术演进路径,以便业务量上来的时候能平滑演进到100万并发的能力。注意我说的是演进,不是扩展。“演进”意味着这个约束很宽泛,只要你现在的设计不阻碍系统向更高的能力进化就可以了,甚至只要你的数据能迁移到今后更强大的系统就可以了。“扩展”意味着一开始要把很多东西想清楚,我相信访问量从1到100万这个过程中,系统本身的发展还有团队对系统的理解也会有100万倍的变化,所以那个时候的需求和技术约束是很难想出来的,因此架构也想不出来,硬要去落实的话,很可能会浪费投资。

现在我们假设100万的需求确实来了。
现在有大规模并发需求的IT系统可以分为两类,一类是淘宝这样的网站,虽然并发大,但是模式简单,交互拓扑是无数客户端围绕服务器云组成的星形模式,交互总是由客户端发起,因为http,本质上没有会话的概念;一类是QQ,微信这样的及时通信系统,交互拓扑是无数客户端互相联系形成的网状模式(服务器云是中间人),有强烈会话的概念,会话的生存期有可能会很长,中间有反复的交互。不知道你的系统更像哪一类?滴滴打车应该是属于第二类的。

如果是第一类,有许多现成的模子可以套
首先,处理简单的静态内容,引入反向代理,动静分离,把静态内容放到专门的服务器上,进一步可以把静态内容部署到CDN;
其次,真正困难的是动态部分。
步骤一,读写分离,利用mysql的主从复制功能,把数据分发到如果服务器,主服务器只管写请求,读请求offload到从服务器;
步骤二,单台主服务器扛不住了,水平分表,垂直分库,把写操作按照不同的table,offload到不同的主服务器,现在复杂度蔓延到程序内部了。
步骤三,生意实在太好了,分库分表也搞不定,上服务器集群
这个过程中,你还有别的不需要增加软件复杂度的辅助手段,比如用SSD来放数据库,加大缓存,但是不知道阿里云是否支持;还有其他软件手段,比如用NoSQL来处理日志之类特殊的数据。

如果是第二类,也有现成的模子可套。如果不想自己撸,可以先找个openfire之类的XMPP套件用起来,等不行了再扩展。
这类系统的挑战是有大量在内存中存活的会话,举个例子把,如果你用TCP来做传输,每一个会话在操作系统的协议栈里面都需要有相应的TCB,如果用UDP,那么为了处理NAT,你需要在应用层自己维护映射表。除了了传输,你在应用层还会维护大量的状态机,这也是一个耗内存和耗CPU的活计。
好在你不是第一个,网上搜索一下MSN,QQ,微信,他们的需求和你类似,一般这么解决scalability问题。
通常是垂直分解,把系统分解为若干认证服务器,会话服务器,和补充服务服务器。比如你上QQ,要先认证,那就有只负责认证的服务器招呼你,认证完了,根据当前负载,在会话服务器farm里挑一台不太忙,离你近的服务器负责你的文字聊天,如果你还想语音或者视频,那么你在发起语音视频的时候又按照前述原则给你分配相应的补充服务服务器。你可以想象,认证服务器是医院的挂号处,会话和特殊服务器就是各个科室。当然认证服务器自己也是可以通过DNS进行扩展的。
这种系统如果遇到数据库瓶颈,也可以参照前面第一类系统解决。

3、如何理解openresty标榜的异步非阻塞高性能web服务器

OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器,它打包了标准的 Nginx 核心,很多的常用的第三专方模块,以及属它们的大多数依赖项。
OpenResty 通过汇聚各种设计精良的 Nginx 模块,从而将 Nginx 有效的变成一个强大的 Web 应用服务器,这样, Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种C以及Lua 模块,快速构造出足以胜任 10K+ 并发连接响应的超高性能Web 应用系统.
OpenResty 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如MySQL,PostgreSQL,~Memcaches 以及 ~Redis 等都进行一致的高性能响应.

4、取代apache的高性能web服务器怎么样

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。
由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用。 其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。

5、repairkangle什么意思?

repair kangle
修复康乐

基本定义kangle web服务器(简称:kangle)是一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向代理服务器软件。除此:kangle也是一款专为做虚拟主机研发的web服务器。实现虚拟主机独立进程、独立身份运行。用户之间安全隔离,一个用户出问题不影响其他用户。安全支持php、asp、net、java、ruby等多种动态开发语言。开发背景kangle web服务器的开发团队,一直致力于服务器和虚拟主机的研发和使用。深知市面上已存在的web 服务器对于一般的用户来说,安装起来很困难,甚至无法独立完成安装和使用。为了广大用户拥有一款跨平台、易操作、功能强大的国产web服务器

6、高性能web站点需要考虑哪些因素

高性能web站点,首先你要有好的服务器,再者就是一个好的程序。代码上精良,图片少一点。
能缓存的就缓存。

7、怎样具备大规模高并发访问的Web应用架构设计和开发经验

理论上经验这个东西是学不来的.
说一下我的例子.
刚入行的时候,基本就是写了一些增删改查.甚至session都不太理解.
随着入行后,你会遇到各种各样的问题.在解决问题的过程中,经验来了.

简单说一下所谓大规模高并发访问的web架构吧.

其实,对于大规模高并发不外乎两点,第一点是及时相应(尽可能优化io).第二点是数据安全.

这两点控制的好,就没问题的.所以,我们的架构也就围绕在这两点应运而生.
第一点,为了尽可能提高应用的io吞吐量.则需要我们把所有耗时的io操作尽可能的优化,比如全局使用很少更改的一些配置,则可以采用nosql来全局共享(注意,这里的全局是指服务器集群.如果涉及到了大规模,肯定是多服务器的).在其次可以增加服务器缓存.比如2秒钟从上一条的服务器读取配置,存到服务器级别.以提高效率.还有线程缓存.如果业务复杂可能对一个请求需要查询多次数据,不变的,老规矩,放到线程缓存.基本也就差不多了.

第二点,因为应用不同,要考虑容错率.这个部分优化,可以考虑分离业务,把必须要数据安全的业务逻辑提取出来,队列执行或者特殊处理.

剩下的就是服务器部署与如何分配,比如多少台web服务器,数据库配置,内存服务器配置等.
这只能是在实际项目和工作过程中来区别对待了.

与高性能web服务器相关的知识