付民的博客
最近的一个项目,视频点播系统,使用apache实现的流媒体服务器。 其实准确的说叫做伪流(HTTP Pseudo-Streaming),基本原理和概念自行了解吧。 让我简单的描述就是仍然是HTTP下载,播放器播放本地缓存。只不过它也实现了一些和正规流媒体服务类似的功能。 视频点播类系统的性能测试,说简单了主要就是模拟大量用户去看视频。 服务端监控整体性能,客户端关注各自表现。 这里难点主
404°/4041
人阅读/0 人点赞/0 条评论
作为一名Web开发者,当程序出现问题时日子总不是那么好过。问题可能无处不在,可能是你发送的请求出了错,可能是回复出了错,可能是你使用的某个第三方库出了问题,又或者是一个外部API调用失败了。优秀的工具对于定位问题出在何处有着无可估量的价值,而且能在一开始就帮助我们阻止问题的出现,总的来说能使我们的工作更有效率。命令行工具尤其有用,因为它们非常易于做自动化和脚本处理,能够以各种不同的方式进行组合和重
368°/3685
人阅读/1 人点赞/0 条评论
[导读]随着各种多字节字符集的广泛应用,而在软件开发里人数比例非常高的操英文的程序员对多字节字符并不是很了解,这是最近几年很多漏洞都是多字节引起的一个原因。本文作者就MySQL的字符集架构作用谈了自己的看法。 最近几个月,我每次用MySQL,几乎都会想:MySQL现在如此层次分明的字符集架构作用真的很大吗? MySQL的字符集处理 发送请求 客户端(character_set_client
402°/4029
人阅读/1 人点赞/0 条评论
vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。本文介绍了虚拟内存的运行原理,继而介绍了vmstat的用法和使用范例。 一、虚拟内存运行原理 在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,
357°/3578
人阅读/1 人点赞/0 条评论
【软件测试类】软件测试自动化http://www.testwu.com/?p=151软件测试(原书第2版)–软件工程技术丛书测试系列http://www.testwu.com/?p=149测试驱动开发(中文版)http://www.testwu.com/?p=143性能测试进阶指南——LoadRunner 9.1实战http://www.testwu.com/?p=141人月神话http://ww
508°/5073
人阅读/0 人点赞/1 条评论
一、以非特权用户运行MySQL服务器 在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器。服务器可以手动或自动启动。如果你手动启动它,服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行;如果你用su命令切换到root,然后运启动服务器,则它以root运行。然而,大多数情况下你可能不想手动启动服务器
388°/3887
人阅读/1 人点赞/0 条评论
测试用例是测试设计的结果,也是绝大部分测试活动的指导性文档,它用测试的语言把需要测试人员执行的工作和检查点描述出来,从而规范测试人员的测试点,并保证一个足够的测试覆盖率(Test Coverage)。 设计和构思测试用例时,要像织网一样把测试点设计周密,分布均匀,使之有效和有意义。 标准的测试用例,一般包含这样一些内容: (1)编号:每个测试用例的唯一编号,有助于其和测试结果、错误报告等其他
401°/4009
人阅读/1 人点赞/1 条评论
以下为使用聚合的方法实现静态代理,并打印出调用方式时间及log....(1)创建接口package com.strategy;public interface Moveable { void move();}(2)logpackage com.strategy;public class TankLogProxy implements Moveable{ public TankLogProxy(Mo
464°/4635
人阅读/2 人点赞/1 条评论
ABSender是一款改自ApacheBench的轻量级http压力/性能测试工具,除了具备所有ApacheBench的所有功能及性能展现之外,它修复了一处数组越界导致的Segmentation Fault的BUG并支持自定义请求的Path路径、Header头、Cookie值和Post数据的功能。所有这些请求的自定义信息,除了能够从文件中读出并随机组合之外,还支持使用范围模板设置请求信息。&nbs
393°/3936
人阅读/1 人点赞/0 条评论
package com.filter;public class MsgPro { private String msg; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String process(){ //处理特殊字符 String r =
369°/3696
人阅读/1 人点赞/0 条评论