公司内部项目,之前已经有一版了,没有问题,改过页面后作为第二版。 第二版昨天上线,sringboot,jar 包大小 70m,jscsshtml 大小一共 14m,系统是 windowsService2012R2,一台数据库服务器,一台访问机只有 8080 端口,直接 java –jar 运行,我在我机器上没有问题,去服务器布上后,访问登陆页面要很久大概十秒二十秒,还不一定能进去,因为第一版用的 war 包,改成 war 包,放 tomcat 下运行还是这问题,在我的电脑上运行没有毛病,很快,改版主要改了前端,不知道为什么会这样,怀疑是服务器,但服务器只有我们这个小系统,两个服务器都是干净的,我该往哪个方向考虑,总感觉不是代码问题,进登陆页面都这么慢,登陆页也没啥东西,很困惑,该怎么解决,思路是什么,求答,就在 tomcat 主机访问的,很慢
1
dorothyREN 2020-01-05 17:34:32 +08:00 1
第一次访问都很慢。
|
2
manami 2020-01-05 17:35:00 +08:00 via Android
服务器是国内的还是国外的?静态资源多的话压缩下或 cdn 加速
|
3
yinzhong OP @dorothyREN 不是的这样的,这慢的不正常
|
4
yinzhong OP @manami 机房的服务器,就在一个园区,不能联网,但是我在自己的电脑上运行没问题。上一个版本也没问题,静态资源不至于多到访问慢,而且访问的是登录页,里面啥也没有
|
5
manami 2020-01-05 17:43:56 +08:00 via Android
控制台 Network 按 F5 看看哪些资源加载最费时
|
6
hcymk2 2020-01-05 17:44:24 +08:00 via Android 1
直接在服务器上访问也很慢么?
|
8
Aruforce 2020-01-05 17:46:04 +08:00 via Android 1
统计下时间…看是处理慢还是网络慢…
|
9
manami 2020-01-05 17:48:03 +08:00 1
|
10
yinzhong OP @manami 这个等明天看看吧,总感觉不是这个问题,就算加载不到,不是报静态资源 404 吗,html 也应该出来啊,等很久之后就能加载到了,不知道为啥,之前没往这方面考虑,觉得是机器问题,我自己的虚拟机运行就没事
|
12
chibupang 2020-01-05 17:56:00 +08:00 via iPhone
是不是 JVM 设置有问题?
|
13
yinzhong OP 求帮忙,各位大神
|
14
lihongjie0209 2020-01-05 18:00:28 +08:00
你要先定位问题啊, 网络慢? spring 使用了懒加载? 还是数据库连接慢?
|
15
yinzhong OP @chibupang 有可能,但这个服务器只有这一个系统,第一版和第二版大小差不多,这系统这么小,不至于吧,不过是个考虑方向,多谢
|
16
hcymk2 2020-01-05 18:03:30 +08:00 via Android
直接访问 tomcat 管理界面,或者项目的静态资源也很慢么?
|
18
octobersnow 2020-01-05 18:13:50 +08:00 via iPhone
敢问你是登录慢?
|
19
octobersnow 2020-01-05 18:15:10 +08:00 via iPhone
如果是 linux 系统,用的 session,看一下随机数用的熵
|
20
yinzhong OP @octobersnow 不是,是进登录页面慢,也就是 ip 加 8080 端口慢,登录页都看不到那种,等很久就可以看到登录页了,登陆也就是验证账号也很快
|
21
yinzhong OP @octobersnow 不是 linux
|
22
francis59 2020-01-05 19:44:28 +08:00
不管 jar 还是 war 都是用的 tomcat 容器,换 undertow 试试,先排除一下是不是 tomcat 的问题
|
23
limbo0 2020-01-05 20:29:46 +08:00 via Android
太多可能了,数据库,后端,网络,前端,一个个排除吧
|
24
zjsxwc 2020-01-05 20:37:09 +08:00 via Android
写个简单的 war 包丢 tomcat 看看是不是也慢,如果不是那就是代码问题了
|
25
woscaizi 2020-01-05 23:17:41 +08:00 via iPhone
日志级别调 WARN。
|
26
autogen 2020-01-06 07:49:58 +08:00
页面链接发一下,我帮你看看?
|
27
zhchyu999 2020-01-06 08:19:10 +08:00 via Android
插桩打日志看开啊
|
28
sagaxu 2020-01-06 09:04:23 +08:00 via Android
看看有没有前端库引用海外服务器的字体文件或者 css 文件,超时报错之后才会渲染页面。
|
29
palmers 2020-01-06 09:41:42 +08:00
先把外部服务依赖去掉 看看访问加载问题是否依然存在,如果存在看看静态服务等配置例如 nginx 配置、tomcat 配置等等 还有网络问题(dns/ping 一段时间 看看是否有丢包严重的情况)等 如果不存在就好办了, 挨个儿排查依赖的外部服务,例如 登录服务 数据库连接等等
|
30
jianpeng957 2020-01-06 09:41:44 +08:00
@sagaxu 同意这一点,建议 F12 看整体网页请求速度如何,是否有请求卡在 pending 阶段
|
31
palmers 2020-01-06 09:44:01 +08:00
如果有域名服务, 先排查域名设置是否有问题 比如域名直接挂载到了应用 ip 但是应用 ip 又不支持访问网络
|
32
jie170601 2020-01-06 09:54:48 +08:00 via Android
是不是 tomcat 用的服务,然后服务在后台还没完全启动就访问的登录页,这样会出现很慢或者失败的情况。
还有登录验证很快那也有可能各种过滤器拦截器逻辑太复杂? |
33
x66 2020-01-06 10:03:54 +08:00
楼主给出的信息根本无法判断是哪个环节慢,楼上一些人就开始让换容器了,是真的搞笑。
|
34
adrianXu 2020-01-06 10:12:46 +08:00
你倒是给出页面的 network 啊
|
35
opengps 2020-01-06 10:14:14 +08:00
查查硬盘最大读写速度,如果是云服务器,用的最低等硬盘,那么这个 70M 大小正常读取可能就得 2 秒
|
36
Eugene1024 2020-01-06 14:04:55 +08:00
直接拿个简单的 html 页面扔到服务器上跑一下,看下访问速度,排查服务器问题;不行再 F12 看下什么在一直加载
|
37
no1xsyzy 2020-01-07 11:31:41 +08:00
@yinzhong #10 不一定加载不到,可能卡 Pending,见过好几个 SPA 这样的了,直接一个十几 M 的 .js ,依赖全打在里面,卡 30 秒空白页才进去。
|
38
yinzhong OP 抱歉现在回复,原因是我的登陆页面引入了一个谷歌的样式,这个样式需要联网才能获取的那种,这个样式服务器访问不到,但客户端能访问到,根据我以往的经验和实践,客户端不联网的话这个样式就会报 404,但页面骨架会出来啊,但是在领导机器上就是不行,我实验多次,就是加载不到,没这个样式而已,哪都运行正常,可能是领导那边机器安全程度高吧,证券公司,根本原因不懂,多谢各位
@no1xsyzy @Eugene1024 @opengps @adrianXu @x66 @jie170601 @palmers @jianpeng957 @palmers |
39
yinzhong OP |