B/S架构的系统反应比较慢和IIS有啥关系吗

看情况,你们这个系统如果并发不大,那么应该涉及不到 IIS 的问题,多半是程序写疵了。如果并发量显著的大,那么可以考虑是不是性能瓶颈在 IIS,可以尝试用 nginx 替换掉。

■网友
谢邀。

软件开发领域,最讨厌的,最可怕的就是「黑盒」。

通过你的描述,差不多可以知道你可能对你们产品代码、业务代码、后台代码都不是很熟悉,在这个程度上来说,一切对你都是「黑盒」。

导致系统慢可能问题很多,但是也都可以从最根本的「代码出发」,什么意思?

比如,在前端届,有个著名的工具叫webpack,极其难用,插件的名字也都是叫「WhatTheFckIsThisPlugin」,但是,他的生态是目前所有打包工具里,最好的,运用最广泛的,还有的是,他的文档极其差劲,你几乎在他的文档中看不见什么特别有用的信息,看完你还是觉得webpack没搞懂。

幸好,他是开源的,无论你的配置再不会配,还是性能怎么那么慢,你都可以直接刚到源码去看「为什么」,一天不明白,就两天,再不行就两个月,甚至你想,你源码一路看下来,可以打穿到node js的内部(因为webpack就是基于nodejs的)去看,为什么他那么性能不怎么好,打包慢。

【B/S架构的系统反应比较慢和IIS有啥关系吗】 nodejs就是javascript的运行环境,我们假设nodejs是“光速”的,那么无论他跑什么,都会快得很,因此:程序跑得好不好,跟环境也有很大关系

有一点我相信,肯定不是IIS配置的问题,因为这个系统被很多项目用过,不可能是配置问题,要不然公司早就改善了,应该是产品的什么问题。
这种思想呢,是最要不得的,很多时候,性能瓶颈可能就会发生在最不可能发生的地方,再说了,MS的东西黑盒的飞起,你怎么懂?
最后,你给的信息实在太少,这个问题也几乎变成了不可回答的「黑盒」

■网友
之前 @方正 说的很好啦,黑盒的状态下你根本定位不了问题,当然没法解决。
我说一下我的排查思路。
1.我猜测你们的服务器应该是同样的网络环境(一个机房),那么基本上可以排除网络问题。如果不是在一个机房,需要单独排查网络问题。
2.所谓被很多项目用过,不代表一定没问题,所以需要确认一下其他项目是否存在类似的问题,或者你这个项目有什么特殊性。
3.正经的排查流程,profile连接中每个步骤的时间,一般分为connect到服务器的时间(网络),服务器accept到process的时间(一般和cpu和io有关),process的时候是否有其他服务器(比如数据库)或者三方服务的时间,如果是纯b/s项目的话有点麻烦,需要打log或者单独部署监控软件,如果是spa的话,通过单个业务的xhr可以比较容易定位。定位到具体步骤,就可以去review相关的代码了。

■网友
我至少8年没有正经用过windows了,为什么邀请我?宝宝不知道啊。。。

■网友
谢邀首先看io和服务器等待时间,如果io不大但是等待时间过长,首先就是看网络环境,例如用户是否是双线机房之类的,排除这个再看数据库和拦截器这块的然后再更改部署方案,一般反向代理的效率不低,很多都是io的问题


    推荐阅读