网页弹出广告,难道又被黑了–问题排查

最讨厌网页上的弹出广告神马的,可今天打开我的网站居然右下角弹出一个大大的弹窗广告! 尼玛!DNS被劫持了?这是公司网络,DNS服务器我使用的是GoogleDNS,打开其它网页,正常!换firefox,IE正常, 唯独我的网站www.gigiwangs.com有弹窗,该不是又被黑了吧!为什么“又”呢? 着手排查吧: 1.检查一下首页代码,发现多了一个弹出flash广告代码。 2.登录网站后台,没有异常登录信息,关键文件最近没有被更改。 3.考虑这个代码,远端的js代码。检查index.php,head.php,footer.php都正常。 4.初步排除被黑。 5.肯定是那个插件搞鬼了,会是哪一个呢?最近没有更新或安装新的插件。 6.分析一下代码详情,发现***tianqi.php**; 7.一下子联想到网页添加了天气预报,来自中国天气网的天气widget代码;以文本方式添加在网页的右边栏,用来显示实时天气预报, 登录中国天气,果然发现使用插件是被添加广告的^ 8.至此,问题算是找到了,使用前没有仔细阅读协议,果断换用其它的服务……

Continue Reading

来再对你的网站做一些优化吧

我不是做前端的,所以对于Web设计和优化我只是通过搜索学习一点点,根据一些经验片面的记录一下我自己网站的一些优化工作,这里也分享一下。鄙视一下那些用脚趾头写代码的XX公司网页,永远使用IE6+XP老古董的古董… 我的网站使用了Wordpress+terrifico主题,之所以选用这款主题,是因为他使用了自适应的设计方式..其实不全是,需要修改一定的代码.下面将我做的工作大体描述一下,主要包括.htaccess文件优化方面,自适应网页方面。 通过Google的网页分析工具pagespeed insights,发现一些我的wordpress 网站问题: 1.图片等文件没有设置过期时间; 2.部分图片没有使用进一步的压缩; 3.首页一些非必须的css加载(移动版+PC版,进行自适应网页设计) 开工,处理! 首先,通过.htaccess设置图片的过期时间,利用浏览器缓存,节约了网站加载耗时。 …… ExpiresActive On # RSS feed ExpiresByType application/rss+xml “access plus 1 hour” # Favicon (cannot be renamed) ExpiresByType image/x-icon “access plus 1 week” # Media: images, video, audio ExpiresByType image/gif “access plus 1 month” ExpiresByType image/png “access plus 1 month” […]

Continue Reading

为移动设备访问而优化

信息化时代,人们碎片时间越来越多,移动设备的使用也越来越频繁,网站必须为移动设备访问而优化.. 很遗憾,本文似乎不是讲移动优化的方法和建议的,因为,我不会.. 这里是Google提供的一些建议: http://developers.google.com/speed/pagespeed/insights/ 建议摘要 使用浏览器缓存 在 HTTP 标头中为静态资源设置过期日期或最长存在时间,可指示浏览器从本地磁盘中加载以前下载的资源,而不是通过网络加载。 优化图片 适当地设置图片的格式并进行压缩可以节省大量的数据字节空间。 缩短服务器响应时间 压缩 JavaScript 压缩 JavaScript 代码可以节省大量数据字节空间,并提高下载、解析和执行的速度。 压缩 CSS 压缩 CSS 代码可以节省大量数据字节空间,并提高下载和解析的速度。 压缩 HTML 按优先级排列可见内容 避免使用目标网页重定向 用户体验指南 1. 关注用户的目标 2. 使用清晰的结构引导用户 3. 确保用户在您的网站上知道执行什么操作 4. 提供符合用户情形的体验 5. 将偶尔光顾的访问者转变为忠实用户   今天移动版主题更新了..看着还不错,还需要设置一些user-agents…

Continue Reading

AIX db2嵌入式SQL(sqc)编译

编译SQC
使用C语言编写嵌入式SQL以访问DB2的程序,DB2预编译器可以将SQL语法直接转换为DB2行时服务应用程序编程接口(API)调用。
bind的主要作用是根据SQC中的SQL语句使用的表和操作指定访问时DB要使用的策略,是一种优化作用,以加快数据访问的速度。

Continue Reading

[Q]性能调优攻略–转自Coolshell.cn

本文转载自酷壳 – CoolShell.cn (Google reader)   ,但配图来自互联网其它角落…通常本网站是不转载别处文章的,因为我认为这种也算作“拿来”,转与不转,它就在那里,不移不动,通过Google等自然搜索得到,这里这么小的流量也不会有太多人看到… —————–Begin————- 关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。 在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈! 但是在讲如何定位系统性能瓶劲之前,请让我讲一下系统性能的定义和测试,因为没有这两件事,后面的定位和优化无从谈起。 一、系统性能定义 让我们先来说说如何什么是系统性能。这个定义非常关键,如果我们不清楚什么是系统性能,那么我们将无法定位之。我见过很多朋友会觉得这很容易,但是仔细一问,其实他们并没有一个比较系统的方法,所以,在这里我想告诉大家如何系统地来定位性能。 总体来说,系统性能就是两个事: Throughput ,吞吐量。也就是每秒钟可以处理的请求数,任务数。 Latency, 系统延迟。也就是系统在处理一个请求或一个任务时的延迟。 一般来说,一个系统的性能受到这两个条件的约束,缺一不可。比如,我的系统可以顶得住一百万的并发,但是系统的延迟是2分钟以上,那么,这个一百万的负载毫无意义。系统延迟很短,但是吞吐量很低,同样没有意义。所以,一个好的系统的性能测试必然受到这两个条件的同时作用。 有经验的朋友一定知道,这两个东西的一些关系: Throughput越大,Latency会越差。因为请求量过大,系统太繁忙,所以响应速度自然会低。 Latency越好,能支持的Throughput就会越高。因为Latency短说明处理速度快,于是就可以处理更多的请求。 二、系统性能测试 经过上述的说明,我们知道要测试系统的性能,需要我们收集系统的Throughput和Latency这两个值。   首先,需要定义Latency这个值,比如说,对于网站系统响应时间必需是5秒以内(对于某些实时系统可能需要定义的更短,比如5ms以内,这个更根据不同的业务来定义) 其次,开发性能测试工具,一个工具用来制造高强度的Throughput,另一个工具用来测量Latency。对于第一个工具,你可以参考一下“十个免费的Web压力测试工具”,关于如何测量Latency,你可以在代码中测量,但是这样会影响程序的执行,而且只能测试到程序内部的Latency,真正的Latency是整个系统都算上,包括操作系统和网络的延时,你可以使用Wireshark来抓网络包来测量。这两个工具具体怎么做,这个还请大家自己思考去了。 最后,开始性能测试。你需要不断地提升测试的Throughput,然后观察系统的负载情况,如果系统顶得住,那就观察Latency的值。这样,你就可以找到系统的最大负载,并且你可以知道系统的响应延时是多少。 再多说一些, 关于Latency,如果吞吐量很少,这个值估计会非常稳定,当吞吐量越来越大时,系统的Latency会出现非常剧烈的抖动,所以,我们在测量Latency的时候,我们需要注意到Latency的分布,也就是说,有百分之几的在我们允许的范围,有百分之几的超出了,有百分之几的完全不可接受。也许,平均下来的Latency达标了,但是其中仅有50%的达到了我们可接受的范围。那也没有意义。 关于性能测试,我们还需要定义一个时间段。比如:在某个吞吐量上持续15分钟。因为当负载到达的时候,系统会变得不稳定,当过了一两分钟后,系统才会稳定。另外,也有可能是,你的系统在这个负载下前几分钟还表现正常,然后就不稳定了,甚至垮了。所以,需要这么一段时间。这个值,我们叫做峰值极限。 性能测试还需要做Soak Test,也就是在某个吞吐量下,系统可以持续跑一周甚至更长。这个值,我们叫做系统的正常运行的负载极限。 性能测试有很多很复要的东西,比如:burst test等。 这里不能一一详述,这里只说了一些和性能调优相关的东西。总之,性能测试是一细活和累活。 三、定位性能瓶颈 有了上面的铺垫,我们就可以测试到到系统的性能了,再调优之前,我们先来说说如何找到性能的瓶颈。我见过很多朋友会觉得这很容易,但是仔细一问,其实他们并没有一个比较系统的方法。 3.1)查看操作系统负载 首先,当我们系统有问题的时候,我们不要急于去调查我们代码,这个毫无意义。我们首要需要看的是操作系统的报告。看看操作系统的CPU利用率,看看内存使用率,看看操作系统的IO,还有网络的IO,网络链接数,等等。Windows下的perfmon是一个很不错的工具,Linux下也有很多相关的命令和工具,比如:SystemTap,LatencyTOP,vmstat, sar, iostat, top, tcpdump等等 。通过观察这些数据,我们就可以知道我们的软件的性能基本上出在哪里。比如: 1)先看CPU利用率,如果CPU利用率不高,但是系统的Throughput和Latency上不去了,这说明我们的程序并没有忙于计算,而是忙于别的一些事,比如IO。(另外,CPU的利用率还要看内核态的和用户态的,内核态的一上去了,整个系统的性能就下来了。而对于多核CPU来说,CPU 0 是相当关键的,如果CPU 0的负载高,那么会影响其它核的性能,因为CPU各核间是需要有调度的,这靠CPU0完成) 2)然后,我们可以看一下IO大不大,IO和CPU一般是反着来的,CPU利用率高则IO不大,IO大则CPU就小。关于IO,我们要看三个事,一个是磁盘文件IO,一个是驱动程序的IO(如:网卡),一个是内存换页率。这三个事都会影响系统性能。 3)然后,查看一下网络带宽使用情况,在Linux下,你可以使用iftop, iptraf, ntop, […]

Continue Reading