[MySQL Reference Manual] 24 MySQL sys框架
24 MySQL sys框架
24.1 sys框架的前提条件
在开始使用sys框架之前,有一些前提条件,sys需要mysql 5.6或者更高版本。因为sys是performance_schema的替代方案,performance_schema必须启动,sys才能够使用。
为了完全访问sys,需要有以下权限:
· Sys表和视图的select权限。
· Sys存储过程和函数的exec权限。
· Sys_config表的insert,update权限。
· 另外执行存储过程需要一些其他的权限,可以看存储过程的描述。
其他权限:
· Sys框架对象访问的任何performance_Schema的表的select权限,和sys框架对象更新的任何表的update权限。
· Information_schema.innodb_buffer_page的process表。
特定的performance_Schema消费者和记录点要启动:
· 所有的等待记录点
· 所有stage记录点
· 所有statement记录点
· Xxx_current和xxx_history_long消费者相关的所有事件。
你可以使用sys下面的存储过程启动所有这些选项:
CALL sys.ps_setup_enable_instrument('wait');
CALL sys.ps_setup_enable_instrument('stage');
CALL sys.ps_setup_enable_instrument('statement');
CALL sys.ps_setup_enable_consumer('current');
CALL sys.ps_setup_enable_consumer('history_long');
注意点:
对于很多sys的使用,默认的性能框架数据收集就能够满足,启动所有的记录点和消费者会对性能有一点影响,所以最好只启动你要的配置。通过这个函数也可以返回默认配置:
CALL
sys.ps_setup_reset_to_default(TRUE);
24.2 使用sys框架
查看sys版本和mysql版本:
mysql> USE sys;
Database changed
mysql> SELECT * FROM version;
+-------------+-----------------+
| sys_version |
mysql_version |
+-------------+-----------------+
|
1.5.0 | 5.7.9-debug-log |
+-------------+-----------------+
Sys框架下包含了很多视图合计了性能框架的表。很多这些视图成对出现的,比如一个成员的名字和另外一个一样,只是加了x$的前缀。比如host_summary_by_file_io有个名字一样的x$host_summary_by_file_io,2个显示的单位不同。
mysql> SELECT * FROM
host_summary_by_file_io;
+------------+-------+------------+
|
host | ios | io_latency |
+------------+-------+------------+
| localhost
| 67570 | 5.38 s |
| background
| 3468 | 4.18 s |
+------------+-------+------------+
mysql> SELECT * FROM
x$host_summary_by_file_io;
+------------+-------+---------------+
|
host | ios |
io_latency |
+------------+-------+---------------+
| localhost
| 67574 | 5380678125144 |
| background
| 3474 | 4758696829416 |
+------------+-------+---------------+
没有x$前缀的表更容易读。带x$和不带x$显示的数值是一样大的用来用具获取和处理这些数据。
可以使用show 语句或者information_schema的查询获取对象的定义比如:
mysql> SHOW CREATE VIEW session;
mysql> SHOW CREATE FUNCTION format_bytes;
mysqldump,mysqlpump默认不导出sys框架,导出sys需要显示设置:
mysqldump
--databases --routines sys > sys_dump.sql
mysqlpump sys > sys_dump.sql
导入sys结构:
mysql <
sys_dump.sql
24.3 sys框架进度报告
Mysql 5.7.9,在sys下提供了长运行事务的进度报告:
Processlist
session
x$processlist
x$session
假设请求的记录点和消费者已经启动了,这些视图的progress列显示了完成的百分比。
stage进度报告要启动events_stages_current消费者,还有一些需要启动的记录点信息:
stage/sql/Copying
to tmp table
stage/innodb/alter table (end)
stage/innodb/alter table (flush)
stage/innodb/alter table (insert)
stage/innodb/alter table (log apply index)
stage/innodb/alter table (log apply table)
stage/innodb/alter table (merge sort)
stage/innodb/alter table (read PK 和 internal sort)
stage/innodb/buffer pool load
对于stage不支持简历和完成工作报告,如果请求记录点和消费者没有启动,progress列为null。
24.4 sys框架的对象
24.4.1所有sys下的对象
Table 24.1 sys Schema
Tables 和 Triggers
Table or |
Description |
sys schema configuration options |
|
sys_config insert trigger |
|
sys_config update trigger |
Table 24.2 sys Schema Views
View Name |
Description |
Statement |
|
File I/O, |
|
host_summary_by_file_io_type, x$host_summary_by_file_io_type |
File I/O, |
Statement |
|
host_summary_by_statement_latency, x$host_summary_by_statement_latency |
Statement |
host_summary_by_statement_type, x$host_summary_by_statement_type |
Statements |
innodb_buffer_stats_by_schema, x$innodb_buffer_stats_by_schema |
InnoDB buffer information, grouped by schema |
innodb_buffer_stats_by_table, x$innodb_buffer_stats_by_table |
InnoDB buffer information, grouped by schema 和 table |
InnoDB lock information |
|
I/O consumers, |
|
Global I/O |
|
io_global_by_file_by_latency, x$io_global_by_file_by_latency |
Global I/O |
Global I/O |
|
io_global_by_wait_by_latency, x$io_global_by_wait_by_latency |
Global I/O |
Most recent |
|
memory_by_host_by_current_bytes, x$memory_by_host_by_current_bytes |
Memory use, |
memory_by_thread_by_current_bytes, x$memory_by_thread_by_current_bytes |
Memory use, |
memory_by_user_by_current_bytes, x$memory_by_user_by_current_bytes |
Memory use, |
memory_global_by_current_bytes, x$memory_global_by_current_bytes |
Memory use, |
Total memory |
|
Server metrics |
|
Processlist |
|
Variables that |
|
AUTO_INCREMENT column information |
|
Index |
|
Types of |
|
Duplicate or |
|
Sessions |
|
Table |
|
schema_table_statistics_with_buffer,x$schema_table_statistics_with_buffer |
Table |
schema_tables_with_full_table_scans,x$schema_tables_with_full_table_scans |
Tables being |
Indexes not in |
|
Processlist |
|
Connection SSL |
|
Statement |
|
statements_with_errors_or_warnings, x$statements_with_errors_or_warnings |
Statements that |
statements_with_full_table_scans, x$statements_with_full_table_scans |
Statements that |
statements_with_runtimes_in_95th_percentile,x$statements_with_runtimes_in_95th_percentile |
Statements with |
Statements that |
|
Statements that |
|
User statement 和 connection |
|
File I/O, |
|
user_summary_by_file_io_type, x$user_summary_by_file_io_type |
File I/O, |
Stage events, |
|
user_summary_by_statement_latency, x$user_summary_by_statement_latency |
Statement |
user_summary_by_statement_type, x$user_summary_by_statement_type |
Statements |
Current sys schema 和 MySQL server |
|
wait_classes_global_by_avg_latency, x$wait_classes_global_by_avg_latency |
Wait class |
wait_classes_global_by_latency, x$wait_classes_global_by_latency |
Wait class |
Wait events, |
|
Wait events, |
|
Wait events, |
|
Helper view for |
|
Helper view for |
|
Helper view for |
|
Helper view |
Table 24.3 sys Schema Stored Procedures
Procedure Name |
Description |
Create synonym |
|
Collect system |
|
Execute |
|
Disable |
|
Disable |
|
Disable |
|
Disable |
|
Enable |
|
Enable |
|
Enable |
|
Enable |
|
Reload saved |
|
Reset saved |
|
Save |
|
Display |
|
Display |
|
Display |
|
Display enabled |
|
Display enabled |
|
Display enabled |
|
Display |
|
Trace |
|
Dump |
|
Truncate |
|
Report of |
|
Whether a table |
Table 24.4 sys Schema Stored Functions
Function Name |
Description |
Extract schema |
|
Extract table |
|
Convert byte |
|
Replace data 和 temp-file |
|
Truncate long |
|
Convert |
|
Add item to |
|
Remove item |
|
Check whether |
|
Check whether |
|
Check whether |
|
Check whether |
|
Check whether |
|
Return account |
|
Return thread |
|
Return event |
|
Return |
|
Return string |
|
Return sys schema configuration option |
|
MySQL server |
|
MySQL server |
|
MySQL server |
24.4.2 sys框架的表和触发器
24.4.2.1 sys_config
Sys_config表列:
·
Variable:配置选项
·
value:选项的值
·
set_time:最近一次修改时间。
·
set_by:最近一次修改用户
为了最小化直接读取sys_config表的影响,sys框架下的函数用来检查用户定义的变量和相关的名字,这个名字使用变量以@sys.为前缀。如果当前会话有用户定义的变量部位null,那么就优先使用变量上的长度。否则就读取表上的值:
mysql> SET @stmt = 'SELECT variable, value,
set_time, set_by FROM sys_config';
mysql> SELECT format_statement(@stmt);
+----------------------------------------------------------+
|
format_statement(@stmt)
|
+----------------------------------------------------------+
| SELECT
variable, value, set_time, set_by FROM sys_config |
+----------------------------------------------------------+
mysql> SET @sys.statement_truncate_len = 32;
mysql> SELECT format_statement(@stmt);
+-----------------------------------+
|
format_statement(@stmt)
|
+-----------------------------------+
| SELECT variabl
... ROM sys_config |
+-----------------------------------+
之后会话中的会继续使用变量的32,而不是使用表里面的64。
为了停止变量的使用可以使用以下语句,取消或者关闭当前会话:
mysql> SET @sys.statement_truncate_len =
NULL;
mysql> SELECT format_statement(@stmt);
+----------------------------------------------------------+
|
format_statement(@stmt)
|
+----------------------------------------------------------+
| SELECT
variable, value, set_time, set_by FROM sys_config |
变量可以在会话结束前生效,如果sys_config在会话中被修改,这个修改不会体现在会话上,除非会话结束。
Sys_config和变量的配置值:
·
diagnostics.all_i_s_tables, @sys.diagnostics.all_i_s_tables
如果选项为on,diagnostics()过程允许对information_schema.tables表进行扫描。如果表很多这个操作花费就比较大。
·
diagnostics.include_raw,@sys. diagnostics.include_raw
如果选项为on,diagnostics()过程包含了metrics视图输出的原生数据。默认为off。
·
ps_thread_trx_info.max_length,@sys. ps_thread_trx_info.max_length
ps_thread_trx_info()函数输出的最大json的长度。
·
statement_performance_analyzer.limit,@sys.statement_performance_analyzer.limit
视图返回的最大行数,编译没有限制。最大为100.
·
statement_performance_analyzer.view,@sys.statement_performance_analyzer.view
statement_performance_analyzer()过程使用到的视图和查询。如果选项值包含了空间就表示是一个查询,否则必须是events_statements_summary_by_digest表上的视图。如果上面的limit>0就不能有limit子句。默认我null。
·
statement_truncate_len,
@sys.statement_truncate_len
format_statement()函数返回的最大语句长度,长的语句会被截断,默认64.
其他选项可以通过sys_config表添加。比如diagnostics(),execute_prepared_stmt()的调试选项,但是不是sys_config的默认有的选项:
mysql> INSERT INTO sys_config (variable,
value) VALUES('debug', 'ON');
修改debug信息:
mysql> UPDATE sys_config SET value = 'OFF'
WHERE variable = 'debug';
mysql> SET @sys.debug = NULL;
24.4.3 性能框架视图
·
host_summary 和
x$host_summary Views
视图显示了语句活动,文件io和连接信息,由host分组
·
host_summary_by_file_io 和 x$host_summary_by_file_io Views
视图总计了文件io,由host分组
·
host_summary_by_file_io_type 和 x$host_summary_by_file_io_type Views
视图总计了文件io,由host和event类型分组。
·
host_summary_by_stages 和 x$host_summary_by_stages Views
总计语句stage,由host分组
·
host_summary_by_statement_latency 和 x$host_summary_by_statement_latency Views
总计语句的统计信息,由host分组
·
host_summary_by_statement_type 和 x$host_summary_by_statement_type Views
总计语句的执行,由host和语句类型分组
·
innodb_buffer_stats_by_schema 和 x$innodb_buffer_stats_by_schema Views
统计information_schema.innodb_buffer_page,由schema分组,object_schema为对象的schema,如果为innodb表属于innodb system。
·
innodb_buffer_stats_by_table 和 x$innodb_buffer_stats_by_table Views
统计information_schema.innodb_buffer_page,由表名分组。
·
innodb_lock_waits 和 x$innodb_lock_waits Views
总计了innodb锁等待。列如下:
wait_started:等待开始事件。
wait_age:等待锁的时间长度。
wait_age_secs:等待了多少秒。
locked_table:被锁定的表。
locked_index:被锁的索引
locked_type:锁等待类型
waiting_trx_started:等待事务的开始事件。
waiting_trx_age:等待事务等待时间。
waiting_trx_rows_locked:等待事务锁定的行锁个数。
……
·
io_by_thread_by_latency 和 x$io_by_thread_by_latency Views
总计了IO消费者显示了线程的IO等待。
·
io_global_by_file_by_bytes 和 x$io_global_by_file_by_bytes Views
总计了IO消费者显示每个文件的读写量,由文件分组
·
io_global_by_file_by_latency 和 x$io_global_by_file_by_latency Views
总结io消费者显示io次数和延迟事件,由文件分组
·
io_global_by_wait_by_bytes 和 x$io_global_by_wait_by_bytes Views
每个event的总io字节。
·
io_global_by_wait_by_latency 和 x$io_global_by_wait_by_latency Views
每个event的总io次数和io等待时间
·
latest_file_io 和 x$latest_file_io Views
总计活动的文件IO,由文件和线程分组。
·
memory_by_host_by_current_bytes 和 x$memory_by_host_by_current_bytes Views
总计host使用的总内存
·
memory_by_thread_by_current_bytes 和 x$memory_by_thread_by_current_bytes Views
线程的内存使用
·
memory_by_user_by_current_bytes 和 x$memory_by_user_by_current_bytes Views
总计用户使用的内存
·
memory_global_by_current_bytes 和 x$memory_global_by_current_bytes Views
每个分配类型分配的内存
·
memory_global_total 和 x$memory_global_total Views
服务的总内存使用
·
metrics View
视图总计mysql服务的指标,显示变量名,变量值,类型和他们的启动情况。视图在mysql 5.7.9被添加,视图主要包含信息:
o
全局的状态变量,来至于global_status表。
o
来自information_schema.global_status.Innodb指标
o
当前和所有内存分配
o
当前时间
有一些在global_status和innodb_status中有重复的指标,metrics视图会进行消除。
·
processlist 和
x$processlist Views
比show processlist返回的信息更加详细
·
ps_check_lost_instrumentation View
返回丢失的性能框架记录点,显示是否性能框架可以跟踪所有数据。
·
schema_auto_increment_columns View
视图显示了有auto_increment的列,并且提供了有用的信息。
·
schema_index_statistics 和 x$schema_index_statistics Views
视图提供的所有统计信息
·
schema_object_overview View
schema下对象统计
·
schema_redundant_indexes 和 x$schema_flattened_keys Views
显示了冗余的索引
·
schema_table_lock_waits 和 x$schema_table_lock_waits Views
显示了哪些会话被元数据锁锁定,什么锁定了它们
·
schema_table_statistics 和 x$schema_table_statistics Views
表操作的统计,io和延迟的统计
·
schema_table_statistics_with_buffer 和 x$schema_table_statistics_with_buffer Views
表操作的统计,io和延迟的统计,和内存的分配
·
schema_tables_with_full_table_scans 和 x$schema_tables_with_full_table_scans Views
显示了哪些表被表扫描访问
·
schema_unused_indexes View
未使用过的索引
·
session 和
x$session Views
和processlist相似但是不显示后台进程
·
session_ssl_status View
对于每个连接显示SSL版本,chipher和count
·
statement_analysis 和 x$statement_analysis Views
显示了语句的执行情况,执行次数,响应行数,延迟等
·
statements_with_errors_or_warnings 和 x$statements_with_errors_or_warnings Views
语句的错误或者警告
·
statements_with_full_table_scans 和 x$statements_with_full_table_scans Views
用到了表扫描的语句
·
statements_with_runtimes_in_95th_percentile和 x$statements_with_runtimes_in_95th_percentile
Views
runtimes在95%以内的语句
·
statements_with_sorting 和 x$statements_with_sorting Views
执行了排序的语句
·
statements_with_temp_tables 和 x$statements_with_temp_tables Views
使用了临时表的语句
·
user_summary 和
x$user_summary Views
用户总计信息,包含语句,文件io,连接
·
user_summary_by_file_io 和 x$user_summary_by_file_io Views
用户文件io总计
·
user_summary_by_file_io_type 和 x$user_summary_by_file_io_type Views
用户文件io类型总计
·
user_summary_by_stages 和 x$user_summary_by_stages Views
用户stage事件总计
·
user_summary_by_statement_latency 和 x$user_summary_by_statement_latency Views
用户在执行语句上的延迟
·
user_summary_by_statement_type 和 x$user_summary_by_statement_type Views
用户在语句类型上的延迟
·
version View
版本
·
wait_classes_global_by_avg_latency 和 x$wait_classes_global_by_avg_latency Views
等待类型延迟汇总,由平均延迟排序
·
wait_classes_global_by_latency 和 x$wait_classes_global_by_latency Views
等待类型延迟汇总,由总延迟排序
·
waits_by_host_by_latency 和 x$waits_by_host_by_latency Views
host,等待事件延迟汇总
·
waits_by_user_by_latency 和 x$waits_by_user_by_latency Views
用户等待事件延迟
·
waits_global_by_latency 和 x$waits_global_by_latency Views
等待事件延迟。
24.4.4 sys框架存储过程
·
The create_synonym_db() Procedure
创建一个别名数据库,指向被引用的数据库,使用视图指向被引用数据库的表
·
The diagnostics() Procedure
当前服务器的状态,包含了mysql服务版本信息,系统变量,innodb状态,processlist,内存使用信息,performance_schema状态,和一些状态信息。输出到diag.out文件
mysql> tee diag.out;
mysql> CALL diagnostics(120, 30, 'current');
mysql> notee;
· The execute_prepared_stmt() Procedure
以已准备好的语句,来执行。准备好的语句在执行完成后被释放,所以并不能重用。可以用来执行的动态语句。
·
The
ps_setup_disable_background_threads() Procedure
禁止后台进程的所有性能框架记录点
·
The ps_setup_disable_consumer()
Procedure
禁用某个消费者
·
The ps_setup_disable_instrument()
Procedure
禁用记录点
·
The ps_setup_disable_thread()
Procedure
根据连接id,禁用某个线程
·
The
ps_setup_enable_background_threads() Procedure
启动后台线程的性能框架记录
·
The ps_setup_enable_consumer()
Procedure
启动某个性能框架消费者
·
The ps_setup_enable_instrument()
Procedure
启动某个性能框架记录点
·
The ps_setup_enable_thread()
Procedure
启动某个连接id对应线程的记录点
·
The ps_setup_reload_saved() Procedure
重新加载性能框架配置,使用之前ps_setup_save保存的配置
·
The ps_setup_reset_to_default()
Procedure
重置到默认配置
·
The ps_setup_save() Procedure
保存性能框架配置,这样可以根据调试要求先调整,然后恢复
·
The ps_setup_show_disabled()
Procedure
显示当前所有禁用的配置
·
The
ps_setup_show_disabled_consumers() Procedure
显示所有禁用的消费者
·
The ps_setup_show_disabled_instruments()
Procedure
显示禁用的记录点
·
The ps_setup_show_enabled() Procedure
显示启动的性能框架配置
·
The ps_setup_show_enabled_consumers()
Procedure
显示启动的消费者
·
The
ps_setup_show_enabled_instruments() Procedure
显示启动的记录点
·
The
ps_statement_avg_latency_histogram() Procedure
直方图显示语句的平均延迟
·
The ps_trace_statement_digest()
Procedure
跟踪指定语句digest的所有性能记录点。
·
The ps_trace_thread() Procedure
指定连接id的所有性能记录点
·
The ps_truncate_all_tables()
Procedure
清空所有性能框架summary表
·
The statement_performance_analyzer()
Procedure
创建语句在服务端上运行的报表
·
The table_exists() Procedure
判断是否存在表,视图,临时表
24.4.5 sys框架存储函数
The extract_schema_from_file_name() Function
根据文件路径获取对应的数据库名
The extract_table_from_file_name() Function
根据文件路径获取表名
The format_bytes() Function
给字节数,转化为可读的格式
The format_path() Function
文件路径格式化
The format_statement() Function
格式化语句输出,输出长度和statement_truncate_len配置有关。
The format_time() Function
时间格式化
The list_add() Function
增加一个由逗号隔开的队列中。
The list_drop() Function
从逗号隔开的队列的队列中删除一个元素
The ps_is_account_enabled() Function
判断账号是否启动
The ps_is_consumer_enabled() Function
判断消费者是否启动
The ps_is_instrument_default_enabled() Function
判断记录点是否默认启动
The ps_is_instrument_default_timed() Function
给定记录点默认是否是被计时的。
The ps_is_thread_instrumented() Function
判断连接id对应的性能框架记录点启动
The ps_thread_account() Function
给定连接id,判断线程启动的用户。
The ps_thread_id() Function
给定连接id返回线程id
The ps_thread_stack() Function
给定线程id,返回json格式的语句,stages,events的stack
The ps_thread_trx_info() Function
返回线程id的事务和已经执行的语句
The quote_identifier() Function
引用分隔符
The sys_get_config() Function
获取sys_config表的数据
The version_major() Function
mysql主版本
The version_minor() Function
mysql次版本
The version_patch() Function
mysql补丁号
[MySQL Reference Manual] 24 MySQL sys框架的更多相关文章
- [MySQL Reference Manual] 4 MYSQL Program
4 MYSQL Program 目录 4 MYSQL Program 4.3 MySQL Server和Server启动程序 4.3.1 mysqld 4.3.2 mysqld_safe 4.3.3 ...
- [MySQL Reference Manual] 5 MySQL 服务管理
5. MySQL 服务管理 5. MySQL 服务管理 5.1 The Mysql Server 5.2 Mysql 服务日志 5.2.1 选择General query log和slow query ...
- [MySQL Reference Manual]14 InnoDB存储引擎
14 InnoDB存储引擎 14 InnoDB存储引擎 14.1 InnoDB说明 14.1.1 InnoDB作为默认存储引擎 14.1.1.1 存储引擎的趋势 14.1.1.2 InnoDB变成默认 ...
- [MySQL Reference Manual] 23 Performance Schema结构
23 MySQL Performance Schema 23 MySQL Performance Schema 23.1 性能框架快速启动 23.2 性能框架配置 23.2.1 性能框架编译时配置 2 ...
- [MySQL Reference Manual] 18 复制
18 复制 18 复制 18.1 复制配置 18.1.1 基于Binary Log的数据库复制配置 18.1.2 配置基于Binary log的复制 18.1.2.1 设置复制master的配置 18 ...
- [MySQL Reference Manual] 8 优化
8.优化 8.优化 8.1 优化概述 8.2 优化SQL语句 8.2.1 优化SELECT语句 8.2.1.1 SELECT语句的速度 8.2.1.2 WHERE子句优化 8.2.1.3 Range优 ...
- [MySQL Reference Manual]15. 其他存储引擎
15. 其他存储引擎 15. 其他存储引擎 15.1 设置存储引擎 15.2 MyISAM存储引擎 15.2.1 MyISAM启动选项 15.2.2 Key的空间要求 15.2.3 MyISAM表存储 ...
- [MySQL Reference Manual] 10 全球化
10.全球化 本章主要介绍全球化,包含国际化和本地化,的一些问题: · MySQL在语句中支持的字符集 · 如何为服务配置不同的字符集 · 选择错误信息 ...
- [MySQL Reference Manual] 7 备份和恢复
7. 备份和恢复 本章主要会介绍: 1.备份的类型:逻辑备份,物理备份,全备和增量4种 2.创建备份的方法 3.还原方法,包括还原到时间点 4.备份计划,压缩和加密 5.表维护,恢复损坏的表 7. 备 ...
随机推荐
- 内网穿透神器ngrok
相信做Web开发的同学们,经常会遇到需要将本地部署的Web应用能够让公网环境直接访问到的情况,例如微信应用调试.支付宝接口调试等.这个时候,一个叫ngrok的神器可能会帮到你,它提供了一个能够在公网安 ...
- 使用 Code Snippet 简化 Coding
在开发的项目的时候,你是否经常遇到需要重复编写一些类似的代码,比如是否经常会使用 for.foreach ? 在编写这两个循环语句的时候,你是一个字符一个字符敲还是使用 Visual Studio 提 ...
- 复化梯形求积分——用Python进行数值计算
用程序来求积分的方法有很多,这篇文章主要是有关牛顿-科特斯公式. 学过插值算法的同学最容易想到的就是用插值函数代替被积分函数来求积分,但实际上在大部分场景下这是行不通的. 插值函数一般是一个不超过n次 ...
- C# - 缓存OutputCache(一)基础配置
本文是通过网上&个人总结的 1. 介绍 OutputCache输出缓存是复制ASP.NET页面,保存在内存的机制.这种行为有助于提高性能,通过返回的缓存达到网页及时响应的目的,减少客户机器需要 ...
- redis成长之路——(六)
redis配置 为了码农在代码上只关心业务以及代码上的统一性,wenli.drive.redis内部使用配置来完成那些不同的场景,也就是说随便填填配置就能适应不同的场景! 当然配置多了码农也会受不了, ...
- ERP软件的价格设计
ERP体现出信息流.资金流.物流在供应商.企业.客户间的运营方向,是以销售为源头,生产.物料需求计划为核心,以金额.实时数据为基础的整体.ERP的核心是MRP(物料需求).企业的经营活动最终是为了赢利 ...
- DG gap sequence修复一例
环境:Oracle 11.2.0.4 DG 故障现象: 客户在备库告警日志中发现GAP sequence提示信息: Mon Nov 21 09:53:29 2016 Media Recovery Wa ...
- 【分布式】Zookeeper在大型分布式系统中的应用
一.前言 上一篇博文讲解了Zookeeper的典型应用场景,在大数据时代,各种分布式系统层出不穷,其中,有很多系统都直接或间接使用了Zookeeper,用来解决诸如配置管理.分布式通知/协调.集群管理 ...
- scikit-learn一般实例之六:构建评估器之前进行缺失值填充
本例将会展示对确实值进行填充能比简单的对样例中缺失值进行简单的丢弃能获得更好的结果.填充不一定能提升预测精度,所以请通过交叉验证进行检验.有时删除有缺失值的记录或使用标记符号会更有效. 缺失值可以被替 ...
- GET command找不到
谷歌的: On running a cronjob with get command, I was getting the following error. /bin/sh: GET: command ...