nodejs与php性能比较
在性能方面,Nodejs 显然赢了这一局。由于 Nodejs 遵循事件驱动的非阻塞I/O模型,与传统的后端技术相比,Nodejs 能够处理大量的服务器请求。
PHP 遵循一个阻塞模型,其中在服务器端创建多个线程来处理多个客户端请求,如果代码没有被优化,它会导致高服务器负载和响应时间。
http请求是不是一个请求做为一个线程
现在大多数的web容器都是采用的阻塞是设计,也就是每有一个请求进来就开一个线程处理它,不仅仅是java,php等语言的web程序也是这样的。但也有完全非阻塞式的web技术,比如nodejs。
网站出现“您访问的网站已达到连接数上限”怎么办
这里要澄清一下,连接数上限不会导致服务器不稳定,恰恰相反,连接数上限是保证服务器稳定性的重要措施!由于是共享环境,多个用户共用同一台服务器,试想一下,如果某个用户程序出现问题,而系统又不加限制,那么这一个用户会迅速将全部服务器资源耗尽,同一服 务器上的其他用户就会受到严重影响,甚至网站无法访问。所以,限制措施是为了有效隔离出错网站使之不对其他用户产生影响,是增强服务器稳定性的。总结过去经验,达到连接数上限的原因可能有以下几点:
1、程序出现死循环:一旦出现程序死循环,apache连接数就得不到释放,因此,在有限的资源里越积累越多,导致apache的连接数达到上限,因此无法正常浏览网站。
2、数据库空间满了:有的用户用数据库来做一些论坛等交流的程序,这样,一旦数据库空间满了,用户在通过php执行insert等sql语句时候造成数据库堵塞,从而造成资源达到上限。
3、调用数据库程序问题:调用数据库的程序逻辑不合理,对数据库操作以后没有及时释放对数据库的连接,因此累计起来,很快就能达到资源上限了。值得指出的是目前域名通所有服务器的连接数上限可以容纳日访问量数十万独立IP的网站如果您的网站访问量很小,却总是提示说达到连接数上线,请您仔细检查程序,依据以往的经验,这样的网站都是程序有问题或是用户利用空间在做调试。