首页 文章 精选 留言 我的

精选列表

搜索[懒加载],共10000篇文章
优秀的个人博客,低调大师

android在不加载图片的前提下获得图片的宽高

public static int[] getImageWidthHeight(String path){ BitmapFactory.Options options = new BitmapFactory.Options(); /** * 最关键在此,把options.inJustDecodeBounds = true; * 这里再decodeFile(),返回的bitmap为空,但此时调用options.outHeight时,已经包含了图片的高了 */ options.inJustDecodeBounds = true; Bitmap bitmap = BitmapFactory.decodeFile(path, options); // 此时返回的bitmap为null /** *options.outHeight为原始图片的高 */ return new int[]{options.outWidth,options.outHeight}; } 本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/p/5597355.html ,如需转载请自行联系原作者

优秀的个人博客,低调大师

mysql5.6加载percona版audit.log插件性能损耗压测

由于mysql5.6社区版没有企业版特有的audit审计插件,最近需要对生产的mysql数据库增加审计功能,在考虑了percona、maridb和macfee3个版本的audit,最终选择了较为熟悉的percona版。 这里注意下,最好采用同一子版本的PXC的audit_log.so文件,即下载PXC的二进制包文件并直接copy其内置的audit_log.so插件即可。 启用了audit审计功能,对数据库的性能存在一定的损耗,具体是多少,需要通过测试验证。在虚拟机上做了一个测试如下: 测试虚拟机环境: 主机: CPU:Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz 4核 内存:1G 磁盘:SCSI硬盘10G 数据库: 版本:5.6.34 参数:innodb_buffer_pool_size = 128M、innodb_io_capacity = 2000 以下是我的测试脚本:cat for_sysbench.sh #!/bin/sh time=3600 #0.0 forthreadin{16,32,64,128,256} do echo"nowthenumberoftheadsis$thread" echo"============================================================================================================================================" /bin/sh/home/linzj/shell/mysql.shrestart sleep30 sysbench--test=oltp--mysql-host=192.168.110.100--mysql-port=3306--mysql-user=root--mysql-password=root--mysql-db=sbtest1--oltp-num-tables=10--oltp-table-size=500000--report-interval=10--max-requests=0--oltp-test-mode=nontrx--oltp-nontrx-mode=select--oltp-read-only=off--max-time=$time--num-threads=$threadrun echo"============================================================================================================================================" done>>/tmp/sysbench.log.0.0 #1.1 sed-i's/sync_relay_log=0/sync_relay_log=1/g'/etc/my.cnf sed-i's/sync_binlog=0/sync_binlog=1/g'/etc/my.cnf sed-i's/innodb_flush_log_at_trx_commit=0/innodb_flush_log_at_trx_commit=1/g'/etc/my.cnf forthreadin{32,256} do echo"nowthenumberoftheadsis$thread" echo"============================================================================================================================================" /bin/sh/home/linzj/shell/mysql.shrestart sleep30 sysbench--test=oltp--mysql-host=192.168.110.100--mysql-port=3306--mysql-user=root--mysql-password=root--mysql-db=sbtest1--oltp-num-tables=10--oltp-table-size=500000--report-interval=10--max-requests=0--oltp-test-mode=nontrx--oltp-nontrx-mode=select--oltp-read-only=off--max-time=$time--num-threads=$threadrun echo"============================================================================================================================================" done>>/tmp/sysbench.log.1.1 #100.2 sed-i's/sync_relay_log=1/sync_relay_log=100/g'/etc/my.cnf sed-i's/sync_binlog=1/sync_binlog=100/g'/etc/my.cnf sed-i's/innodb_flush_log_at_trx_commit=1/innodb_flush_log_at_trx_commit=2/g'/etc/my.cnf forthreadin{32,256} do echo"nowthenumberoftheadsis$thread" echo"============================================================================================================================================" /bin/sh/home/linzj/shell/mysql.shrestart sleep30 sysbench--test=oltp--mysql-host=192.168.110.100--mysql-port=3306--mysql-user=root--mysql-password=root--mysql-db=sbtest1--oltp-num-tables=10--oltp-table-size=500000--report-interval=10--max-requests=0--oltp-test-mode=nontrx--oltp-nontrx-mode=select--oltp-read-only=off--max-time=$time--num-threads=$threadrun echo"============================================================================================================================================" done>>/tmp/sysbench.log.100.2 其实这里测试时间不应该只有3600s,表个数和行数也不是太大,如果要获得更为准确的压测值,建议调大测试时间、表的行数和线程并发数。 测试出来的数据如下: not audit_log.so sync_binlog=0 innodb_flush_log_at_trx_commit=0 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M sync_binlog=1 innodb_flush_log_at_trx_commit=1 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M sync_binlog=100 innodb_flush_log_at_trx_commit=2 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M thread number transactions 95% response time transactions 95% response time transactions 95% response time 16 32213495 0.25ms 29410504 0.25ms 30523665 0.35ms 32 26159190 0.98ms 27709880 0.66ms 26933062 0.68ms 64 83298987 0.23ms 86423634 0.23ms 77157030 0.27ms 128 88715124 0.34ms 90817420 0.35ms 81349362 0.41ms 256 66369520 2.19ms 69010422 1.98ms 71505144 1.81ms audit_log.so sync_binlog=0 innodb_flush_log_at_trx_commit=0 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M sync_binlog=1 innodb_flush_log_at_trx_commit=1 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M sync_binlog=100 innodb_flush_log_at_trx_commit=2 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M thread number transactions 95% response time transactions 95% response time transactions 95% response time 16 28692966 0.50ms 30227040 0.44ms 30635231 0.43ms 32 26350208 0.69ms 26789217 0.64ms 26515925 0.66ms 64 58260078 0.45ms 60129266 0.41ms 62635925 0.37ms 128 61384728 0.69ms 62435697 0.67ms 64455354 0.59ms 256 55560177 2.83ms 55683833 2.87ms 56068342 2.79ms 从测试的数据可以发现: 1、数据库的audit插件的使用,确实损耗了一定的数据库性能,如果以最佳压测性能的128个线程并发的数据来看,有audit功能的数据库在同等压测时间下,事务数占比少了30%以上,响应时间延长了1倍。 2、数据库性能并非同并发线程数呈线性关系,在并发数达到128时,事务数和响应时间均为最佳,接下来再继续增加并发,性能反而下降。 3、这里测试数据sync_binlog和innodb_flush_log_at_trx_commit为双1的时候,性能反而最高。这里应该是参数调整or压测时间不足导致。至少innodb_buffer_pool_size应该调整为内存的80%。所以这份测试数据也仅仅作为参考,需要再继续调整参数后再进行压测才能得到更为准确的数值。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册