以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  页面正常,但一个页面加载需要11秒  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=158140)

--  作者:zhangjian222200
--  发布时间:2020/11/9 16:25:00
--  页面正常,但一个页面加载需要11秒
以前用weui写的页面都很快,
现在用stringbuild写,11秒,太慢了,怎么才能快一些?


以下内容是专门发给有点蓝,狐狸爸爸,reachtone浏览


[此贴子已经被作者于2020/11/11 13:39:05编辑过]

--  作者:有点蓝
--  发布时间:2020/11/9 16:28:00
--  
请上传实例测试
--  作者:hejin8288
--  发布时间:2020/11/9 18:33:00
--  
KK


--  作者:zhangjian222200
--  发布时间:2020/11/9 19:54:00
--  
实例,大于2m无法上传,怎么办
--  作者:有点蓝
--  发布时间:2020/11/9 20:22:00
--  
新建项目做个例子测试。如果使用的easyui、layui就发到web板块吧,不用发这里
--  作者:zhangjian222200
--  发布时间:2020/11/11 13:40:00
--  
改成本机测试,1.33秒,与服务器11秒差别太大了

文件放在1楼了

不是easyui、layui

麻烦看下

[此贴子已经被作者于2020/11/11 13:42:03编辑过]

--  作者:有点蓝
--  发布时间:2020/11/11 13:46:00
--  
1楼的内容我看不到。

如果是数据加载的原因,本机数据库和远程数据库访问肯定是有区别的,特别是在循环里不断访问数据库的时候

--  作者:zhangjian222200
--  发布时间:2020/11/11 14:11:00
--  
这是文件


[此贴子已经被作者于2020/11/11 15:00:55编辑过]

--  作者:有点蓝
--  发布时间:2020/11/11 14:46:00
--  
我放到2M带宽的阿里云测试,6秒左右,主要就是图片加载花时间,看下图

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


如果同名的图片文件不会经常变化的话,建议加上缓存功能:http://www.foxtable.com/mobilehelp/topics/3275.htm

Dim fl As String = projectpath & "web\\" & e.path
If filesys.FileExists(fl)
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String  = fl.SubString(idx)
    Select Case ext
        Case ".js",".css",".html",".htm",".zip",".rar",".txt",".doc"
            e.WriteFile(fl)
            Return \'这里必须返回
        Case ".jpg",".gif",".png",".bmp",".wmf",".woff",".woff2",".ttf" \'这里加上了js扩展名
            e.CacheTime = 180 \'缓存文件5分钟
            e.WriteFile(fl)
            Return \'这里必须返回
    End Select
End If

注意如果启用事件头,就不能在使用HttpServer.WebPath 了,否则无效,启用缓存后,缓存期间内加载就快多了

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


--  作者:zhangjian222200
--  发布时间:2020/11/12 9:47:00
--  
实际项目缓存没有起到作用,麻烦看下怎么回事

启动代码是这样的:
HttpServer.Prefixes.Add("http://www.hellog.com/")
HttpServer.Start()

httprequest代码:
Dim fl As String = "d:\\web\\" & e.path
If filesys.FileExists(fl)
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String  = fl.SubString(idx)
    Select Case ext
        Case ".jpg",".gif",".png",".bmp",".wmf",".js",".css",".html",".htm",".zip",".rar"
            e.CacheTime = 180 \'缓存文件1小时,3600
            e.WriteFile(fl)
            Return \'这里必须返回
    End Select
End If