0 0

mysql在并发测试中遇到性能瓶颈,在线求帮助!15

[size=large]一段insert/update代码在单测中只需要几毫秒就能搞定,但用ab并发测试时,随着请求数和并发数的增加,所花费的时间越来越长(10ms -->5s+)。

数据库使用mysql,innoDB引擎,表结构也是很简单的几个字段,无外键,无死锁现象,数据池也开的足够大足够用(spring在DataSourceUtils.getConnection(dataSource)时基本不花费时间)

其次,把事务部分的代码都注释掉后进行ab测试也一样。

mysql也已经尽量优化,部分内容如下:
key_buffer_size = 256M
max_allowed_packet = 10M
table_open_cache = 512
sort_buffer_size = 16M
read_buffer_size = 128M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 80
#query_cache_size= 128M
query_cache_size= 256M
# Try number of CPU's*2 for thread_concurrency
#thread_concurrency = 8
thread_concurrency = 16
tmp_table_size = 1024M

innodb_autoextend_increment = 1000
innodb_data_file_path = ibdata1:4000M;ibdata2:4000M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/log/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 512M
innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
innodb_flush_log_at_trx_commit = 2
#innodb_lock_wait_timeout = 50
sync-binlog=1
bulk_insert_buffer_size=12M
innodb_flush_method=O_DIRECT
innodb_thread_concurrency=1000




ps.原先做查询时也很慢,但在SELECT中使用了SQL_NO_CACHE和SQL_CACHE后就不再慢了(slow.log中就没出现过了)。

但在insert和update时不知如何优化,向大家求教了!
[/size]
2012年8月20日 17:39

1个答案 按时间排序 按投票排序

0 0

这个肯定是正常的;机器承受的压力是一定的。

你需要定义:
1、你程序并发多少;
2、在指定的并发需求内 dml dql满足需求吗;如果满足需求到此结束即可;
3、如果不满足需要考虑如分库 分表 或者 读写分离。

2012年8月20日 18:00

相关推荐

    MySQL30W测试数据

    MySQL30W测试数据是针对数据库性能评估、功能测试或应用开发中常用的一类资源,通常包含大量的模拟真实业务场景的记录。在这个场景下,30W代表有三十万条数据,这是一份用于测试的数据库样本,可以用来检验数据库在...

    Jmeter的mysql-connector-java-5.1.6-bin.jar包,纯正靠谱,接口测试性能测试相关JAR包

    例如,你可以编写SQL查询、存储过程,或者执行数据库更新、插入、删除等操作,然后分析JMeter生成的报告,了解数据库在高负载下的性能瓶颈。 在`mysql-connector-java-5.1.6-bin.jar`中,主要涉及以下几个关键类: ...

    MySQL性能常见原因分析

    当完成业务的时间变长,用户感到难以忍受,或者CPU、内存、磁盘出现性能瓶颈时,性能问题就会被发现。 接下来,了解如何测量MySQL的性能是至关重要的。可以通过MySQL的状态变量、事务数、每秒查询数(QPS)等方式来...

    MySQL压力测试经验

    MySQL压力测试是数据库管理员和性能优化专家在部署新数据库系统、对数据库...通过本文分享的经验,我们可以更加全面地理解MySQL压力测试的各个方面,并在实际工作中应用这些知识,以规避生产环境中可能遇到的性能瓶颈。

    mysql压力测试脚本实例

    此外,还可以使用像sysbench、loadrunner这样的专业工具,对数据库进行更复杂的多线程、多用户并发测试,进一步考察其性能瓶颈和优化空间。 总结来说,MySQL压力测试脚本实例提供了一种模拟实际业务场景的方法,...

    性能测试文档

    性能测试是软件开发过程中的重要环节,旨在评估和优化系统的响应时间、并发处理能力、资源利用率等关键指标。本文档将深入探讨性能测试的基本概念、重要性、常见方法以及相关工具,以帮助读者理解并执行有效的性能...

    系统性能测试报告

    但是,当并发用户数进一步增加时,可能会遇到性能瓶颈。 #### 六、结论与建议 - **结论**:通过以上测试结果可以看出,“工时系统”在当前硬件和网络环境下能够较好地支持一定数量的并发用户,但在高并发情况下...

    MySQL性能瓶颈排查定位实例详解

    MySQL性能瓶颈排查定位是数据库管理中的重要环节,它涉及到服务器资源的优化,以确保数据库能够高效、稳定地运行。在实际操作中,我们经常会遇到由于各种原因导致的MySQL性能问题,如查询慢、CPU占用过高、内存使用...

    jmeter对应的mysql驱动8.0.zip

    本文将深入探讨如何在JMeter中使用MySQL驱动8.0,以便进行数据库性能测试。 首先,我们需要了解`mysql-connector-java-8.0.15.jar`这个文件。这是MySQL提供的Java数据库连接器(JDBC)驱动,用于Java应用程序与...

    mysql-8.0.20-winx64-debug-test.zip

    这些信息对于开发人员和系统管理员来说至关重要,因为他们可以帮助识别和修复运行时错误,查看代码执行路径,以及定位可能的性能瓶颈。通过调试模式,我们可以更深入地理解MySQL内部工作原理,对出现问题时进行详细...

    Jmeter链接mysql数据库jar包

    在IT测试领域,Apache JMeter是一款广泛使用的性能测试工具,主要用来评估应用程序的性能和负载能力。当涉及到与数据库的交互,例如MySQL,JMeter需要特定的驱动程序来建立连接。这个“Jmeter链接mysql数据库jar包”...

    DDAP-FPMA第二轮性能提升测试报告2

    此外,由于在本轮测试中屏蔽了MySQL的binlog日志功能,测试结果可能与实际环境有差异,因此后续计划恢复binlog日志功能,以更准确地评估性能指标。 后续的工作主要包括两个方面:一是调整数据库设置,增加最大连接...

    MySQL性能优化

    在实际的应用场景中,可能会遇到并发插入一个InnoDB表时响应时间过长、效率较低的情况。假设这张表具有以下特征: 1. **主键明确**:表中的每条记录都有一个唯一的标识。 2. **主键为数字类型**:主键字段的数据...

    MySQL优化那些事

    本文旨在深入探讨MySQL的优化方法以及从Oracle迁移到MySQL的过程中可能遇到的问题及解决方案。 #### MySQL vs Oracle 在比较MySQL与Oracle时,我们可以从多个维度来分析这两种数据库系统的差异: 1. **稳定性与...

    jmeter 第5章 Mysql数据库压测实战

    在本章节中,我们将深入探讨如何使用Apache JMeter进行MySQL数据库的压力测试,即"jmeter 第5章 Mysql数据库压测实战"。JMeter是一款强大的性能测试工具,广泛应用于Web应用、FTP服务器、数据库和其他通用协议的压力...

    数据库测试程序测试数据库

    - 数据库性能调优:通过监控和分析找出性能瓶颈,并优化SQL语句、索引等。 6. **测试案例**: - 正确性测试:验证数据的完整性和一致性。 - 数据恢复测试:模拟故障情况,检查备份和恢复机制。 - 并发测试:...

    MySQL 5.5.52 msi 64位安装版本

    - MySQL 有一个庞大的开发者社区,提供了丰富的文档、教程和插件,遇到问题时可以寻求社区的帮助。 总的来说,MySQL 5.5.52 作为一个稳定且功能丰富的数据库版本,为开发者提供了高效、可靠的数据存储解决方案。...

    mysql数据库64位

    - **性能瓶颈**:当遇到性能问题时,应该首先从监控工具中获取CPU、内存等资源使用情况,然后针对性地调整配置参数。 - **备份与恢复**:定期备份是非常重要的。可以使用mysqldump工具进行逻辑备份,对于大型数据库...

Global site tag (gtag.js) - Google Analytics