#测试

0 关注者 · 8 帖子

软件测试是为了向利益相关者提供有关被测软件产品或服务质量的信息而进行的调查。

InterSystems 官方 Michael Lei · 十月 7, 2024

我们最近在向量搜索抢险体验计划中提供了新版的 InterSystems IRIS,新版本采用了新的基于分层可导航小世界 (HNSW) 索引算法的近似最近邻索引。 这一新增功能可对大型向量数据集进行高效的近似最近邻搜索,从而显著提高查询性能和可扩缩性。

HNSW 算法旨在通过构建基于图形的结构来优化高维数据的向量搜索,从而更快地在大型向量集合中找到近似邻。 无论您使用的是推荐系统、自然语言处理,还是其他机器学习应用,HNSW 都能显著缩短搜索时间,同时允许您调整准确度水平,但准确度提高的代价是查询时间变慢。

HNSW 的主要优点包括:

    •    即使数据集规模不断扩大,也能加快搜索速度
    •    减少内存占用,同时保持高准确度
    •    与现有的 IRIS 向量搜索功能无缝集成

如何开始使用

最新版本现已通过向量搜索抢先体验计划提供。 要参与,请在此处注册,下载新版本并开始测试。 我们正在持续增强向量搜索的功能,因此您的反馈至关重要!

我们鼓励您探索性能改进方法,并与社区分享您的想法。 如果您在抢先体验阶段遇到任何问题或有任何反馈,请联系我。

祝您编码愉快!

0
0 83
公告 Michael Lei · 六月 8, 2023

如果您已经使用%UnitTest 框架构建了单元测试,或者正在考虑这样做,请查看InterSystems 测试管理器Test Manager

无需离开 VS Code,您现在可以浏览单元测试、运行或调试它们,并查看之前的运行结果。

InterSystems 测试管理器适用于 ObjectScript 扩展支持的两种源代码位置范例。您的单元测试类可以在 VS Code 的本地文件系统(“客户端编辑”范例)或服务器命名空间(“服务器端编辑”)中掌握。在这两种情况下,实际测试运行都发生在服务器命名空间中。

欢迎反馈。

0
0 139
文章 Meng Cao · 十月 5, 2022 4m read

操作系统: CentOS Linux release 7.9.2009 (Core)

1.查看数据相关信息

1)查看Caché数据库实例信息

[root@TestServer /]# ccontrol list

Configuration 'CACHE'   (default)
	directory: /opt/cache
	versionid: 2016.2.3.907.11.20719
	conf file: cache.cpf  (SuperServer port = 1972, WebServer = 57772)
	status:    running, since Tue Oct  4 12:54:05 2022
	state:     ok

2)查看Caché数据库私有apache版本信息

[root@TestServer /]# /opt/cache/httpd/bin/httpd -V
Server version: Apache/2.4.12 (Unix)
Server built:   May  6 2015 13:42:21
Server's Module Magic Number: 20120211:41
Server loaded:  APR 1.4.6, APR-UTIL 1.5.1
Compiled using: APR 1.4.6, APR-UTIL 1.5.1
Architecture:   64-bit
Server MPM:     worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D BIG_SECURITY_HOLE
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/usr/cachesys/httpd"
 -D SUEXEC_BIN="/usr/cachesys/httpd/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

3)查看Caché数据库私有apache模块信息

[root@TestServer /]# /opt/cache/httpd/bin/httpd -l
Compiled in modules:
  core.c
  mod_authz_core.c
  mod_so.c
  http_core.c
  mod_mime.c
  mod_log_config.c
  worker.c
  mod_unixd.c
  mod_alias.c

2.下载最新的apache依赖包和安装包

依赖包下载地址: apr下载链接:https://downloads.apache.org/apr/apr-1.7.0.tar.gz apr-util下载链接:https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz 安装包下载地址: httpd下载链接:https://downloads.apache.org/httpd/httpd-2.4.54.tar.gz

3.安装编译工具和依赖包

3.1安装编译工具

yum install -y expat-devel gcc  openssl-devel pcre-devel libxml2-devel

3.2 安装依赖包

  • apr
#解压apr-1.7.0.tar.gz文件并进到目录中
tar -xf apr-1.7.0.tar.gz
cd apr-1.7.0
#编译安装
./configure --prefix=/usr/local/apr
make && make install
  • apr-util
#解压apr-util-1.6.1.tar.gz文件并进到目录中
tar -xf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
#编译安装
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

##4.编译安装apache

#停掉Caché私有apache服务。
%SYS>w ##class(Config.Startup).StopWebServer()
#备份原httpd文件,文件位于数据库安装目录下httpd/bin目录中。
cd /opt/cache/httpd/bin
cp -p httpd httpd_old
#解压httpd-2.4.54.tar.gz文件并进到目录中。
tar -xf httpd-2.4.54.tar.gz
cd httpd-2.4.54
#编译安装,模块依据原来的模块信息配置,另外,可以增加ssl模块以支持https。
./configure --prefix=/usr/cachesys/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-mpm=worker --enable-ssl=static --enable-authz_core=static --enable-mime=static  --enable-log_config=static  --enable-unixd=static --enable-alias=static
make && make install
#将新编译的httpd文件拷贝过来覆盖原来的httpd文件
cp /usr/cachesys/httpd/bin/httpd /opt/cache/httpd/bin

查看Caché数据库私有apache版本及模块信息:

[root@TestServer ~]# /opt/cache/httpd/bin/httpd -l
Compiled in modules:
  core.c
  mod_authz_core.c
  mod_so.c
  http_core.c
  mod_mime.c
  mod_log_config.c
  mod_ssl.c
  worker.c
  mod_unixd.c
  mod_alias.c
  
[root@TestServer ~]# /opt/cache/httpd/bin/httpd -V
Server version: Apache/2.4.54 (Unix)
Server built:   Oct  5 2022 12:36:05
Server's Module Magic Number: 20120211:124
Server loaded:  APR 1.7.0, APR-UTIL 1.6.1, PCRE 8.32 2012-11-30
Compiled using: APR 1.7.0, APR-UTIL 1.6.1, PCRE 8.32 2012-11-30
Architecture:   64-bit
Server MPM:     worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_PROC_PTHREAD_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/usr/cachesys/httpd"
 -D SUEXEC_BIN="/usr/cachesys/httpd/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

##5.启动服务测试

#重新启动Caché私有apache服务
%SYS>w ##class(Config.Startup).RestartWebServer()

访问Management Portal测试,OK。 最后,删除新apache的安装目录即可。

rm -rf /usr/cachesys/httpd
24
0 694
文章 Tete Zhang · 九月 14, 2022 5m read
  1. 从消息查看器看到清除周期以外的消息没有被正常清除

这种情况先抽查这些消息所处的会话中是否有未完成操作周期的消息(状态为除“Completed”“Error”“Discarded”之外的状态)。如有,且定期清除任务配置了“KeepIntegrity”,且该环境并不需要保留这些消息,可通过关闭清除任务中的“KeepIntegrity”配置清除这些会话和包含的消息。如果有这类消息,但是定期清除任务未配置“KeepIntegrity”,可能是定期清除任务的逻辑或消息数据问题导致清楚任务查找的时候没有覆盖这些消息,请联系WRC帮助排查具体原因。

有关定期清除任务的更多信息请参见文档

Purging Production Data | Managing Productions | InterSystems IRIS for Health 2022.1

  1. 从消息查看器看不到清除周期之外的消息,但是^%GSIZE显示有global占据了很大的磁盘空间

这种情况需要具体排查每个较大的global。可能有以下原因:

  • 系统定义的global占用很大空间。您可以联系WRC帮助排查具体原因。
  • 自定义的global占用很大空间。这可能是消息中嵌套的持久化数据或流数据,或者是和消息没有直接关系的独立的表里面的数据。请对创建这种global的代码进行复盘,找到创建逻辑并增加相应的数据管理逻辑。
0
0 202
文章 Michael Lei · 八月 9, 2022 1m read

在测试你的代码时,你经常会遇到需要检查对象的实际内容。无论是使用 ZWRITE 还是 $system.OBJ.Dump()

你会得到一个简单的属性图片,"--- 属性值---"

而 "--- swizzled references ---" 更容易让人混淆 

用“--- calculated references ---" 你只是被留在了后面。

0
0 391