2020年5月7日
直接读取系统信息 可以通过读取如下路径中的数据来获取cpu的温度信息,不过读取的数据没有经过处理。 cpu0: cat /sys/class/thermal/thermal_zone0/temp cpu1: cat /sys/class/thermal/thermal_zone1/temp 通过命令行的方式获取 安装 lm_sensors 软件包: # rpm yum install lm_sensors # deb apt-get install lm-sensors 执行命令sensors-detect,进行简单配置,此命令执行后会出现一系列选项,一直yes即可; 执行……
阅读全文
2020年4月30日
背景 大多数语言都会有包管理工具,像Node有npm,PHP有composer,Java有Maven和Gradle。 在go1.11 版本中,新增了module管理模块功能,用来管理依赖包 开启module特性 要开始使用 go module 的特性, 需要先设置 GO111MODULE 环境变量。 开启 GO111MODULE 要使用go module,首先……
阅读全文
2020年4月23日
Bloom 索引 Bloom 过滤器代表的是一组值。它的作用是检测一个元素是否可能属于集合,它可以允许有一些false positive,但是不允许存在false negative。也就是说,尽管某个元素不在集合中,测试也可能返回true。然而,如果元素在集合中,就不可能返回false。 创建在一组列中的B……
阅读全文
2020年4月20日
Nginx 开启status用以监控状态信息 Nginx 可以通过with-http_stub_status_module模块来监控nginx的一些状态信息。 通过nginx -V来查看是否有with-http_stub_status_module该模块。 # nginx -V nginx version: nginx/1.16.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support……
阅读全文
2020年4月16日
Django使用postgresql做数据库 db_index创建索引时会创建第二个索引varchar_pattern_ops问题 创建默认索引 minion_id = models.CharField(max_length=100, db_index=True, blank=True, null=False, default="") 当字段类型是 models.CharField 或者 models.TextField 时 使用 db_index=True创建索引 会创建第二索引 django.db.backends.postgresql.schema class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): sql_alter_column_type = "ALTER COLUMN %(column)s TYPE %(type)s USING %(column)s::%(type)s" sql_create_sequence = "CREATE SEQUENCE %(sequence)s" sql_delete_sequence = "DROP SEQUENCE IF EXISTS %(sequence)s CASCADE" sql_set_sequence_max……
阅读全文
2020年4月13日
条件表达式 https://www.postgresql.org/docs/10/functions-conditional.html postgresql支持CASE,COALESCE,NULLIF,GREATEST,LEAST条件表达式,使用它们有时候可以简化许多功能实现。 CASE CASE类似其他语言中的if/else等,当符合不同条件时则进行不同的运算 tbl_001表 create table tbl_001(id int,name varchar(32),sex varchar(1)); insert into tbl_001 values(1……
阅读全文
2020年4月7日
日常管理 可用性 监测项 可用性 主从 HA 全量备份 增量备份 恢复 监测项 磁盘空间 全库 select pg_size_pretty(sum(pg_database_size(oid))) from pg_database; 数据库 select datname, pg_size_pretty(pg_database_size(oid)) from pg_database order by pg_database_size(oid) desc limit 10; 表总 SELECT table_schema || '.' || table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size FROM information_schema.tables where table_schema = 'public' ORDER BY pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC limit 10; 表 索引 冷热数据 上次统计信息更新时间 热表dml qps io 热表qdml 冷数据 冷索引 索引利用 全表扫描次数……
阅读全文
2020年3月27日
锁等待场景 一个事务尚未执行提交时持有锁,当另一个事务需要持有改行的锁时则需要等待。 Session 1 postgres=# \d+ wt Table "public.wt" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- id | integer | | | | plain | | t | text | | | | extended | | postgres=# begin; BEGIN postgres=# update wt set t = 'aaaa' where id = 1; UPDATE 1 postgres=# select pg_backend_pid(); pg_backend_pid ---------------- 20034 (1 row) Session 2 postgres=# begin ; BEGIN postgres=# update wt set t = 'bbbb' where id = 1; Session 3 select * from pg_stat_activity; -[ RECORD 3 ]----+---------------------------------------- datid | 436980 datname……
阅读全文
2020年3月26日
机器学习,知识发现 数据挖掘算法 按照算法所解决的问题来进行划分,大致可以分为分类、聚类、回归和关联分析。 1.分类 分类算法是对已经确定好结果的数据进行学习,从而对未知的新数据进行分类的算法。 2.聚类 聚类算法只需要有一些数据,但是事先并不知道数据属于什么类别,通过对这些数据的学习,希望……
阅读全文