质量属性—性能

性能是指系统的响应能力,即对外部刺激(事件)做出反应时所需要的时间或在某段时间内所处理的事件个数。一般我们会用等待时间、处理期限、系统吞吐量、响应抖动、未处理事件、丢失数据等指标了解系统性能。

  等待时间:刺激达到和系统对其做出响应之间的时间。

  处理期限:最长等待时间。

  系统吞吐量:系统单位时间处理事务的次数。

  响应抖动:等待时间的变化。

  缺失率(未处理事件):由于系统太忙因而无法做出响应所导致的未处理事件的数量。

  数据丢失:因为系统太忙所丢失的数据。

 性能战术分类图:

 

资源需求:

需求具有两个特性:资源流中事件之间的时间间隔;每个请求所消耗的资源

1.减少一个事件流所用的资源

(1)提高计算效率,如改进关键算法

比如在数据查找时采用二分查找法可以大大减少查找时间

(2)减少计算开销

比如保留上次计算结果

2.减少处理事件的数量,减小频率。

(1)管理事件率

(2)控制采样频率

3.控制资源的使用

(1)限制执行时间

(2)限制队列大小

 例子:以数据库、数据表为例,连接数据库代码:

public static void close(Connection conn, PreparedStatement pstmt, ResultSet rs) {
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
  
        if (pstmt != null) {
            try {
                pstmt.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
  
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
  
        }

建立表

  public void createtable(String key) throws SQLException {
        String sql = "create table "+key+" (select * from words where baike like '%"+key+"%')";
        Connection conn = DBUtil.getConnection();
        Statement stmt = null;
      //执行创建表
        System.out.println("//创建表");
        stmt = conn.createStatement();
        if(0 == stmt.executeLargeUpdate(sql)) {
            System.out.println("成功创建表!");
        }
        else {
            System.out.println("创建表失败!");
        }
        DBUtil.close(conn);
        DBUtil.close(stmt);
    }

 

posted @ 2020-03-03 11:36  李胜明  阅读(499)  评论(0编辑  收藏  举报