OAuthApp v2.2.10 更新 | 前端发布工具
OAuthApp 是一个前端发布工具,用于快速开发前端网页项目,并发布到服务器。 具有引入脚本库就能使用服务端 API、在线发布 H5、站点数据独立存储的特性。 2023-2-10 主要更新 1,[新增]数据库分析 2,[优化]统计页面优化 3,[优化]增加开发文档链接 相关链接: 网址:https://www.oauthapp.com/ 文档:https://web.oauthapp.com/4/docs
ZQPool 是一个可以替代 pgbouncer 的连接池软件 ,在1.1版本中主要做了一下改进:
之前的版本,前端连接过来的用户名和数据库名称必须与后端数据库中的完全一样,现在可以不一样。例如原先的版本如果使用scott用户连接ZQPool上的数据库maydb,那么连接到后端的真实数据库也是maydb,而新版本使用scott用户连接ZQPool上的数据库maydb,但实际上可能是使用yellow用户连接到后端的fourdb数据库上(具体看zqpool.conf中的配置)。
增加了后端连接的生命周期的功能,到达生命周期后,此后端连接会重建,以便避免数据库连接长时间不释放而可能的内存泄漏风险。
增加了管理端口,可以通过向ZQPool发送http请求动态改变一些配置。
优化了ZQPool配置
修复了一些Bug。
ZQPool主要解决 PostgreSQL 生态中流行的连接池软件 pgbouncer 软件的一些缺点。通常使用数据库连接池的主要目的有两个:
而 PostgreSQL 数据库中流行的 pgbouncer 通常解决不了上面的第一个问题(java 应用):即减少到数据库上连接数的目的。 要减少到数据库上的连接数,pgbouncer 连接池的模式只能配置成语句级或事务级,不能配置成会话级,因为 pgbouncer 在会话级下,前面来多少个连接,到数据库也必须建多少连接,根本起不到减少数据库连接的目的。当我们把 pgbouncer 配置成语句级或事务级时,java 应用连接 pgbouncer 会报错:
org.postgresql.util.PSQLException: ERROR: prepared statement "S_1" already exists
这个原因是 jdbc 执行 SQL 是分两个步骤的:
报错的原因为:
而 ZQPool 通过跟踪一个连接上的 Prepare SQL 的名字,并替换成不重复的名字的方式解决了这个问题。
pgbouncer 还有一个缺点,处理 SQL 的转发只能用到 CPU 的一个核,即 pgbouncer 是单线程程序。对于高并发的情况下,超过单核的性能时,就会立即出现瓶颈。而 ZQPool 是使用 golang 的协程技术,可以利用了多核的性能,在一台 2 颗 Intel (R) Xeon (R) Silver 4210R CPU @ 2.40GHz 的物理机:
这是 pgbouncer 的测试情况:
[postgres@csyun01 ~]$ pgbench -h 10.197.160.18 -p 6432 -Uu01 -S -P 2 -T 30 -c 32
pgbench (14.3)
starting vacuum...end.
progress: 2.0 s, 30407.5 tps, lat 1.050 ms stddev 0.180
progress: 4.0 s, 30108.6 tps, lat 1.062 ms stddev 0.182
progress: 6.0 s, 30231.5 tps, lat 1.058 ms stddev 0.179
progress: 8.0 s, 31157.9 tps, lat 1.026 ms stddev 0.176
progress: 10.0 s, 30491.7 tps, lat 1.049 ms stddev 0.178
progress: 12.0 s, 30463.0 tps, lat 1.050 ms stddev 0.180
progress: 14.0 s, 30366.2 tps, lat 1.053 ms stddev 0.179
progress: 16.0 s, 30177.5 tps, lat 1.060 ms stddev 0.180
progress: 18.0 s, 30067.1 tps, lat 1.064 ms stddev 0.181
progress: 20.0 s, 30420.1 tps, lat 1.051 ms stddev 0.177
...
...
...
这是使用 ZQPool 测试的情况:
[postgres@csyun01 ~]$ pgbench -h 10.197.160.18 -p 5436 -Uu01 -S -P 2 -T 30 -c 32
Password:
pgbench (14.3, server 10.5)
starting vacuum...end.
progress: 2.0 s, 111134.7 tps, lat 0.213 ms stddev 0.058
progress: 4.0 s, 112688.1 tps, lat 0.209 ms stddev 0.058
progress: 6.0 s, 114570.8 tps, lat 0.207 ms stddev 0.054
progress: 8.0 s, 107305.3 tps, lat 0.216 ms stddev 0.066
progress: 10.0 s, 108680.1 tps, lat 0.215 ms stddev 0.063
progress: 12.0 s, 108867.6 tps, lat 0.214 ms stddev 0.064
...
...
...
可以看到 ZQPool 的 tps 可以到 10 万每秒,而 pgbouncer 最多到 3 万每秒就上不去了。
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。
为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。
Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。