当前位置: 网站首页>小程序开发>网站制作

邳州400电话申请开通【邳州企业网站建设】邳州微信公众号小程序开发运营价格、邳州微信公众号APP软件客户端设计运营、邳州网页页面设计公司费用、邳州公司网站制作方案流程改版维护大概需要多少钱

发表日期: 2021-04-27 09:04:39 浏览次数:83

邳州400电话申请开通【邳州企业网站建设】邳州微信公众号小程序开发运营价格、邳州微信公众号APP软件客户端设计运营、邳州网页页面设计公司费用、邳州公司网站制作方案流程改版维护大概需要多少钱


邳州,简称“邳”,江苏省徐州市代管县级市, [1-2]  古称良城、邳国、下邳、邳县,位于苏鲁交界,东接新沂市,西连徐州市铜山区、贾汪区,南界睢宁县,北邻山东省兰陵县。 [3]  1992年撤县设市。

邳州历史悠久,境内大墩子文化遗址距今6000年,是江苏文明最早的起源之一。境内有邳州市艾山风景名胜区、沙沟湖水杉公园、国家银杏博览园、小萝卜头纪念馆等旅游景点。邳州的城市精神是“创新、争先、开放、包容”。 [4] 

邳州发展的目标是东陇海产业带重要的水陆交通枢纽、新兴工贸城市,京杭运河沿岸具有水乡特色和历史文化底蕴的生态宜居城市。

2019年7月,邳州入选国家知识产权强县工程试点县(区)。2019年,邳州位居全国综合实力百强县市第37位、经济竞争力百强第40位、全国投资潜力百强县市第18位、全国绿色发展百强县市第33位、全国科技创新百强县市第36位、全国新型城镇化质量百强县市第51位。

最后,压测完毕后可以看到生成的压测报告数据,保存在./sh/api.v2.family.com.tsv文件中。里面的有各项指标的数据,类似如下:

dem_req_rate    req_rate_api.v2.family.com    con_rate_api.v2.family.com    min_rep_rate_api.v2.family.com    avg_rep_rate_api.v2.family.com    max_rep_rate_api.v2.family.com    stddev_rep_rate_api.v2.family.com    resp_time_api.v2.family.com    net_io_api.v2.family.com    errors_api.v2.family.com1    1.0    1.0    1.0    1.0    1.0    0.0    81.2    0.4    02    2.0    2.0    2.0    2.0    2.0    0.0    77.7    0.9    03    3.0    3.0    3.0    3.0    3.0    0.0    75.8    1.3    0... ...41    32.9    32.9    0.0    0.0    0.0    0.0    298.1    14.5    042    33.0    33.0    0.0    0.0    0.0    0.0    311.3    14.5    043    32.8    32.8    0.0    0.0    0.0    0.0    333.2    14.4    0... ...48    15.3    15.3    0.0    0.0    0.0    0.0    1046.8    6.7    049    13.6    13.6    0.0    0.0    0.0    0.0    1268.8    6.0    050    14.6    14.6    0.0    0.0    0.0    0.0    953.7    6.4    0复制代码

为了更方便浏览这份报告数据,可以执行以下命令,生成对应的可视化图表。

sh$ bench2graph ./api.v2.family.com.tsv ./api.v2.family.com_1_50_without_cache.png复制代码

生成的图表如下所示。

图6-12 无缓存下的压测情况

结合数据报告及可视化的图表,不难发现,在没有使用缓存直接访问数据库的情况下,当请求量在35 QPS以下时,平均响应时间约为81毫秒。但当请求量达到近50 QPS时,响应时间急剧上升到了近1秒。这意味着,当有50个以上客户端同时访问Group.getGroupInfo这个接口服务时,响应时间需要1秒以上。

那有没有可以优化的办法呢?答案是肯定的。

使用高效缓存优化响应时间

这里主要的性能瓶颈在于对数据库的访问(关于如何发现系统中的性能瓶颈,下一节会介绍Xhprof工具),因此可以使用高效缓存来对从远程数据库获取的家庭圈信息进行缓存。假设,例如的是Memcache,调整后的Model层代码如下:

// Family-2.0$ vim ./Apps/Fami/Model/Group.php <?phpclass Model_Group extends PhalApi_Model_NotORM {
    public function getGroupInfoByGroupId($groupId) {
        //return $this->getORM()
        //    ->select('number, groupname, password')
        //    ->where('id', $groupId)
        //    ->fetchRow();

        $key = 'group_info_' . $groupId;
        $data = DI()->cache->get($key);
        if (!empty($data)) {
            return $data;
        }

        $data = $this->getORM()
            ->select('number, groupname, password')
            ->where('id', $groupId)
            ->fetchRow();
        DI()->cache->set($key, $data, 600);
        return $data;
    }}复制代码

新的Model实现中,先从Memcache缓存中尝试获取缓存的家庭圈信息,如果有缓存则直接返回。没有缓存,再尝试从数据库中获取,从而大大降低减少了对数据库的耗时操作。

保存代码后,重新进行同样的压力测试,可以看到新的压力测试报告数据类似如下:

dem_req_rate    req_rate_api.v2.family.com    con_rate_api.v2.family.com    min_rep_rate_api.v2.family.com    avg_rep_rate_api.v2.family.com    max_rep_rate_api.v2.family.com    stddev_rep_rate_api.v2.family.com    resp_time_api.v2.family.com    net_io_api.v2.family.com    errors_api.v2.family.com1    1.0    1.0    1.0    1.0    1.0    0.0    33.7    0.4    02    2.0    2.0    2.0    2.0    2.0    0.0    29.4    0.9    03    3.1    3.1    3.0    3.0    3.0    0.0    28.5    1.3    0... ...41    36.6    36.6    0.0    0.0    0.0    0.0    204.3    16.1    042    37.7    37.7    0.0    0.0    0.0    0.0    189.9    16.6    043    36.4    36.4    0.0    0.0    0.0    0.0    249.1    16.0    0... ...48    36.6    36.6    0.0    0.0    0.0    0.0    307.4    16.1    049    36.6    36.6    0.0    0.0    0.0    0.0    323.8    16.1    050    36.1    36.1    0.0    0.0    0.0    0.0    343.2    15.9    0复制代码

对应的可视化报表为:


图6-13 使用缓存的压测情况

再次结合报告数据和可视化图表,不难发现,当请求量在35 QPS以下时,接口服务的平均响应约为29毫秒。当请求量接近50 QPS时,响应时间才上升到约340毫秒。

考虑到数据较多,我们抽取使用缓存前后部分的报告数据进行对比,分别取每秒请求量为5、10、15、……、50时的响应时间,对比并统计如下。

表6-4 使用高效缓存优化前后的响应时间对比

每秒请求量

未使用缓存的响应时间(ms)

使用高效缓存的响应时间(ms)

响应时间降低比率

5

77.7

29.8

61.65%

10

75.5

27.8

63.18%

15

82.9

27.9

66.34%

20

81.8

27.7

66.14%

25

83.8

27.9

66.71%

30

79.2

28.2

64.39%

35

100.9

35.9

64.42%

40

240.4

209.6

12.81%

45

874.8

259

70.39%

50

953.7

343.2

64.01%

很明显,使用高效缓存显著提升了接口服务的响应时间,比原来平均减少了约56%和响应时间。上面压测数据根据不同的服务器环境,最终得到的结果也不尽相同。但可以肯定的是,使用本地高效缓存代替远程数据库访问,确实能够大大降低系统的响应时间,优化性能。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

邳州400电话申请开通邳州企业网站建设邳州微信公众号小程序开发运营价格、邳州微信公众号APP软件客户端设计运营、邳州网页页面设计公司费用、邳州公司网站制作方案流程改版维护大概需要多少钱

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878