到中流击水——2023龙芯产品发布会侧记

前言

11月末,我有幸应龙芯中科邀请,参与了龙芯2023年度产品发布会。由于工作繁忙,一直没顾得上把一些所思所想记录下来。终于接近年底,先前的生产支持工作稍告一段落,故用业余时间撰写此文,记录一下国产CPU的里程碑时刻。

先前的《国产架构计算机可堪大任乎》一文中,已经讲述过我与龙芯故事的起源。在2014年那个互联网渗透远不如今日的时代,龙芯通过QQ群、论坛等方式,将一批廉价的国产CPU设备带到了最早的一批用户手中。在那之前,国产芯片或是某个科研院所实验室里的曲高和寡,或是某个试点小学机房内落灰的小众奇葩。因此,尽管那台龙芯2F的小笔记本性能拉胯,做工粗糙,更像是一个大玩具的样子,我仍然愿意给它更多的溢美之词,敢于吃螃蟹的人永远应当被赞美。

继续阅读到中流击水——2023龙芯产品发布会侧记

国产架构计算机可堪大任乎?

自2018年中美贸易战开打,芯片和基础软件领域被大洋彼岸卡脖子的现状就成了很多人的心结。自那以后,国产芯片和基础软件时不时就会传来突破的好消息。如今5年过去,很多人心中也有着共同的疑问——在接连不断的“突破”后国产架构计算机究竟可堪大任乎?

早在2014年,我就曾接触过国产计算机。彼时龙芯俱乐部在爱好者中以极低的价格销售过一批龙芯电脑,包括盒子、一体机和笔记本。当时我也以不超过300的价格购买过一台逸珑8110B,配备龙芯2F CPU,2G内存和160GB机械硬盘。应该说那回是国产架构走向大众一次十分成功的尝试,通过极低的价格打造了最早一批互联网国产生态用户圈。但凭心而论,当时的设备性能与当年主流的Wintel设备相距甚远,甚至不能流畅播放720p视频。软件生态更是无从谈起,几乎只能依赖debian和龙芯官方维护的为数不多的MIPS软件源,国产软件除WPS外一律欠奉。因此在过了最初的新鲜期后,那台设备迅速被我束之高阁,最终与2016年中被我在海鲜市场以低于原价20元的价格处理掉了。

继续阅读国产架构计算机可堪大任乎?

MySQL 分页查询的坑

近日我行自研配置中心出现了一个较为诡异的问题。表现在配置列表页面中,第一页和第二页出现了同名的项目,而有项目未被显示在列表页面中。当用户误认为该配置创建失败而重新创建配置时,系统提示“该配置已存在”。如下图所示:

第一页,可见存在workflowConf.properties
继续阅读MySQL 分页查询的坑

系统A/B F5探测问题分析报告

问题描述:

2020年11月、2021年1月,系统A和系统B在使用我行自有开发框架升级投产时,发生F5探测失效问题。表现为应用启动正常,手动测试服务可用,但F5探测机制失效,无法判定应用是否存活。两个应用均选择了回退。

当前我行F5探测机制有两种方式,一种是根据端口号判定应用是否存活,另一种是配置某一具体服务,通过服务的返回来确定应用是否存活。考虑到端口探活其实并不准确,时常发生应用启动失败但端口仍被占用的情况,因此网络推荐采用具体服务的探测方式。经调研,系统A和系统B均采用配置服务方式完成F5探测。

端口探测在传输层完成,传输的内容理论上都是byte[],因此从理论上并不会出现应用正常但探测不到的情况。所以重点分析配置服务完成探测的场景。

继续阅读系统A/B F5探测问题分析报告

X系统OOM问题分析报告

问题描述

10月9日、11月2日、11月3日,X系统发生了三次OOM情况,均表现为出现长时间未提交事务,随后引发OOM情况。

问题分析

从生产及测试环境堆Dump发现,发生OOM时内存中均有大量的DelegatingDatabaseMetadata类的对象未释放。从测试环境的复现结果看,该对象在发生OOM时占用内存达60%-70%左右。单一对象大小为20328B,堆Dump时共有49037个对象。

DelegatingDatabaseMetadata类为DBCP数据源的代理类。在每次与数据源进行交互时,均会创建该类的对象。理论上在完成与数据库交互后,相应对象即可以被标记为可释放。DelegatingDatabaseMetadata类继承AbandonedTrace类。AbandonedTrace类被用作DBCP数据源的追踪,DBCP要求所有代理类均需继承该类。根据AbandonedConfig配置情况决定该类的执行情况。

AbandonedConfig共有三个参数可配置,分别为removeAbandoned(移除作废链接),logAbandoned(记录作废链接日志),removeAbandonedTimeout(作废链接超时设置)。

继续阅读X系统OOM问题分析报告