这里来谈一下美国网络服务器技术如何选择。我们所知道的比较流行的网络服务器技术有如下几个。一个是微软的IIS。一个是Apache。一个是nginx。
微软的这个IIS比较好选择。如果你用微软的技术。比如ASP.net。ASP.net core的话。IIS肯定是你最好的选择了。
除此之外的服务器技术选择。 用Apache还是nginx就有点儿争论了。
首先Apache是以进程为驱动的设计。nginx是以事件为驱动的设计。
假设我们现在每秒钟有大量的请求过来, 在实际的应用中。这意味着:
Apache对每个请求都会创建一个进程, 因此请求越多。进程创建的也越多。那么整体网站的性能也就越低。这是因为每个进程都会占用一定的资源。当进程越来越多的时候。对于整个服务器的性能消耗都是一个很大的影响。当从外部境内的请求持续增长的时候。Apache服务器就会变得越来越慢。处理的越来越吃力了。因为处理的变慢了。就会导致有更多的请求积压下来。从而导致性能进一步降低。这就形成了恶性的循环。
nginx是用另外一种方式来处理请求的。当请求处理达到一个峰值的时候。会要求这些请求等待。当有空间的时候再放进来。这就是基于事件为导向的处理方式。因为事件消耗的资源。要比进程消耗的资源小的多的多。所以nginx。在同等性能的条件下能够处理4倍于Apache服务器的请求。
那么到这一步。你是不是觉得以后有这种抉择的时候一定要用nginx了? 这个也不尽然。这是因为Apache这门技术已经存在很久了, 上面的那些问题被业界也已经熟识了。因此大家在使用Apache服务器的时候。并不仅仅使用这一门技术。还要使用很多的插件来改善服务器的性能。这是因为这些插件的存在才大大的扩展了Apache服务器的灵活性。这些灵活性的体现之一是可以支持对多种脚本的使用。
当然nginx也在不断的发展。它有一门技术叫nginx unit可以使用rest API的方式来配置各种脚本服务器。从而在灵活性上大大提高了。
那么总结一下。
如果你对请求的性能处理不是特别高, 可以使用Apache。
如果你特别注重性能的话。可以选择nginx。
如果你有一些现有的技术在使用Apache的话。可以继续使用插件的方式来平衡性能以及增强灵活性。
如果你特别注重扩展性和灵活性的话, Apache似乎也是一个不错的选择。
nginx unit可以帮助你提高扩展性和灵活性。 具体是否够用。还要看你具体的项目情况。
上面只是我个人对这个话题的一点心得体会。分享给大家。希望与大家讨论。共同提高。欢迎拍砖。
本文地址:https://gpu.xuandashi.com/38308.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!