
当时在JJ银行开发合规模型时候,还碰到一个问题,如何适配银行的硬件平台。JJ银行采用的是鲲鹏,它并不仅仅是一套硬件平台,其中包含毕昇编译器和open欧拉操作系统、open高斯数据库的支持,同时还自带了两套kits,几乎全栈式的代码开发编译运行平台。
我们也是在银行做合同管理和案件管理的应用开发,去年银行做了一个很大转变,几乎上层应用开发全部自主创新,对外部厂家的需求变为Iaas和基础底座,这正是他们引入鲲鹏平台的初衷。我们为了适配鲲鹏,在上层应用做了如下调整。
首先要在平台上进行压测,我们当时没有经验,不知道在国产化平台如何压测,我们只有在X86上进行压测。合规模型传输的都是小包,无法提高CPU利用率,因此我们利用合规模型的虚拟化切片,把CPU资源分成若干份,不断调用CPU资源,才把利用率提升上来。
这基本满足了行方的要求,但行方发现每次系统重启升级,法务系统总是失败几次,然后恢复正常。分析问题后,我们发现是JAVA的惰性加载特性导致的。对于JAVA的迁移,银行非常固执的要求,应用程序必须适应鲲鹏平台,硬件不做任何修改。
这给应用层带了很大的困难,不知从哪里下手,问题长时间无法定位。最后,利用程序在毕昇编译器的指引,通过修改代码自身的架构,从而规避了这个问题。毕昇编译器会给出代码中加载慢的若干问题,指引代码优化。果然代码优化过后,解决了JAVA语言固有的惰性加载问题。
欢迎关注公众号“科技江河”,如果喜欢,打赏下呗,感谢。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。