战国互娱代码性能优化-新闻详情

战国互娱代码性能优化


发布时间:2016-11-30责任编辑:朱明 浏览:1432


公司(济南团谱)已由项目式开发转为自研产品,对性能方面多出了不少需求,在开发过程中,为了使网站运行起来更快,程序方面做了不少的改动,主要在以下几个方面:

    1、数据库查询优化,将数据库查询进行合并或者缓存。通过以前的项目发现,数据库连接对于服务器端页面输出的影响最大,如果一个页面有10多次数据库查询、或者一个慢查询,加起来的总查询时长占到300ms的话,那么前面输出页面很有可以会到2S。为此,在没有动用数据库的情况下,数据库查询代码做出合并。第三方库EntityFramework.Extended提供了一系列的合并Future方法,不过有些小问题,稍微改改就可以用上了。效果如下:

查询代码: 战国互娱代码性能优化1.png

可以看到上面有6条数据库查询,实际运行之后这6次查询全部合并到一处,仅执了一次数据库查询,大大提高了查询效率,同时降低了数据库的压力。

战国互娱代码性能优化2.png

战国互娱代码性能优化3.png

战国互娱代码性能优化4.png

2、使用依赖注入,一次请求只NEW出来一次服务提供类,减少重复new出对象所带来的额外开销。

战国互娱代码性能优化5.png

战国互娱代码性能优化6.png

3、数据缓存。对于频繁取的,又无法进行查询合并的代码,使用数据缓存的方式,减少查询数据库的次数。比如战国互娱的网站LOGO以及底部的版权,做了5秒的缓存,即5秒钟内只会去数据库查询一次,在中间在用到时将直接从缓存中取出数据。

战国互娱代码性能优化7.png

4、网站显示的大图片处的先模糊后清晰的处理。在网站加载时,发现网页加载速度很快,100ms以内的响应,但是图片经常出不来,或者一点点出来,严重影响体验。解决方案就是先加载仅有1K多一点的模糊图片,然后加载完成后在显示清晰的图片。效果图先看下:

战国互娱代码性能优化8.png

战国互娱代码性能优化9.png

代码如下:

战国互娱代码性能优化10.png

战国互娱代码性能优化11.png

 

诚信工作室   供稿