使用jenkins做单元测试的时候出现的异常
项目环境是jdk17,本地测试,测试服运行都没有问题,只有单元测试出异常。原因是maven中节点环境变量的JAVA_HOME指向的JDK版本是/usr/lib/jvm/openjdk,我的服务器是11,改成正确的路径就好了
开始以为是maven-compiler-plugin 版本有对应关系,不匹配。
因为命令行直接打java -version是正确的版本17,没有发现问题
又一个WordPress站点
使用jenkins做单元测试的时候出现的异常
项目环境是jdk17,本地测试,测试服运行都没有问题,只有单元测试出异常。原因是maven中节点环境变量的JAVA_HOME指向的JDK版本是/usr/lib/jvm/openjdk,我的服务器是11,改成正确的路径就好了
开始以为是maven-compiler-plugin 版本有对应关系,不匹配。
因为命令行直接打java -version是正确的版本17,没有发现问题
也可能是配置问题,感受上不太理想
使用graalvm主要是为了想提升项目性能。但把jdk切换到graalvm中的openjdk后,webstorm运行vue或打包项目缓慢到令人奔溃,直观感受上能慢5-10倍。
效果
1,kibana看服务red
2,/_cat/nodes发现少个结点
3,阿里云容器里看结点正常运行,重启提示找不到主结点。不过测试ping能通。
4,/_cat/indices 无法打开。
最后发现开结点有点慢,发现内存占用90%,偶尔飙到98%。怀疑内存不够
最后吧机器内的hadoop关了,内存降到90%以下就好了。
开始是这样的: 机房发邮件说硬盘橙色灯了, 然后我就找公司小朋友去看了,然后其实没有警告灯,但小朋友不太懂,还是把好的硬盘给拔出来了.
悲剧发生了,硬盘橙色警告, 系统橙色叹号也亮了.
查硬盘状态
Firmware state: Unconfigured(good), Spun Up
重建警告状态不对. 其实是流程没整对
网上搜了下处理方式主要如下:
https://community.mcafee.com/thread/60189?tstart=0
setp1:查状态:
# check out the slot ena enclosureDevice
/opt/MegaRAID/CmdTool2/CmdTool2 -pdlist -a0 | egrep “(Slot|Firmware state|Encl)”
EnclosureDevice ID: 0
SlotNumber: 0
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 1
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 2
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 3
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 4
Firmwarestate: Online, Spun Up
Enclosure Device ID: 0
Slot Number: 5
Firmware state: Unconfigured(good), Spun Up
发现目标了
setp2:
查这个丢失磁盘的信息
/opt/MegaRAID/CmdTool2/CmdTool2 -PDGetMissing -a0
Adapter 0 – Missing Physical drives
No. Array Row Size Expected
0 0 1 285148 MB
这里No=0, array=0 row=1
setp3:
重建
# Bring device back in array
#/opt/MegaRAID/CmdTool2/CmdTool2-PdReplaceMissing -PhysDrv[
/opt/MegaRAID/CmdTool2/CmdTool2 -PdReplaceMissing -PhysDrv[0:5] –array0 -row1 -a0
Adapter: 0:Missing PD at Array 0, Row 1 is replaced.
这里用到了setp2的信息
# now rebuild the array
/opt/MegaRAID/CmdTool2/CmdTool2 -PDRbld -Start -PhysDrv[0:5] -a0
Started rebuild progress on device(Encl-0 Slot-5)
然后再查下状态,开始重建了!!泪奔
ios Emoji表情其他平台也是能支持的
win7 和以下的系统需要安装补丁
http://support.microsoft.com/kb/2729094
即使安装了补丁,还是有少部分不支持
测试页:
http://www.istartedsomething.com/uploads/emojisegoe.html
win2012还有mac表情是彩色的,win7补丁版本显示是黑白的。
数据库需要保存的话需要utf8mb4编码,mysql5.5+
有个不升级数据库的low方案,是存储的时候转下码。
————————
如何让mysql已有字段支持?
ALTER TABLE [tablename] CHANGE [columnname] [columnname] VARCHAR(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
网上有些是给database和table都转换成utf8mb4。其实没必要,转换字段就够了。
然后php也需要设置字符编码,thinkphp中需要如下设置,如果不设置,无法正常存储
‘DB_CHARSET’=> ‘utf8mb4’,
看了这文:
http://blog.sina.com.cn/s/blog_81c2545a01011afh.html
感觉nio就是socket的优化升级版本,可以不阻塞。。大概是这意思。
总觉得跟jsm有点像,
但nio更属于socket那块的东西。
jms的apache mq直接处理的是消息,有点redis的意思
总结下自己的简单看法。
最简单的方式,增加缓存,能让读取速度有明显的提升,程序改动也不大。
然后就是某些逻辑比较复杂的操作,就需要修改比较多的代码了。
用客户端的说法就是,主线程不能锁。
复杂的逻辑放队列中,用户不一定要立即出现结果,重要的是不阻塞。
数据库mysql读写分离。能提高性能。
有新的想法以后再补上。