亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 遠(yuǎn)程連接mysql寫入速度很慢 [打印本頁(yè)]

作者: netmarshal    時(shí)間: 2014-10-22 15:52
標(biāo)題: 遠(yuǎn)程連接mysql寫入速度很慢
web服務(wù)器 跟 mysql數(shù)據(jù)庫(kù)處于同一網(wǎng)段。
但是web服務(wù)器向mysql數(shù)據(jù)庫(kù)寫入數(shù)據(jù)的時(shí)候。速度非常慢。2M的文件大約需要30分鐘才能寫入?是什么問(wèn)題。DNS反解析已經(jīng)關(guān)閉了!

mysql版本:5.5.39

my.cnf配置文件:

[mysqld]
skip-name-resolve
sync_binlog=1
max_allowed_packet = 16M
open_files_limit = 65535
basedir =  /usr/local/mysql
datadir = /data/mysql
port = 3306
server_id = 1
log-bin = mysql-bin
expire-logs-days = 7
long_query_time = 1
default-storage-engine = InnoDB
innodb_thread_concurrency = 0
innodb_purge_threads = 1
read_rnd_buffer_size = 4M
sort_buffer_size = 4M
key_cache_block_size                    = 1024
query_cache_type                        = 1
query_cache_size                        = 128M
query_cache_limit                       = 2M
query_cache_min_res_unit                = 4096
table_open_cache                        = 4096
table_definition_cache                  = 4096
thread_cache_size                       = 256
thread_stack                            = 256K

lower_case_table_names=1
log_bin_trust_function_creators=1

作者: netmarshal    時(shí)間: 2014-10-22 20:16
頂頂更健康
作者: seesea2517    時(shí)間: 2014-10-23 11:27
本地寫的快嗎?測(cè)試一下本地的硬盤IO,然后網(wǎng)絡(luò)速度如何?這些也都是可能原因啦。
作者: netmarshal    時(shí)間: 2014-10-23 11:51
回復(fù) 3# seesea2517

mysql數(shù)據(jù)庫(kù)本機(jī) 寫入一點(diǎn)兒?jiǎn)栴}沒(méi)有。網(wǎng)絡(luò)不存在問(wèn)題。都是同一網(wǎng)段下面的。導(dǎo)出數(shù)據(jù)庫(kù)速度正常。就是寫入速度慢。平均1秒鐘才插入100條數(shù)據(jù)。不知道是什么原因?請(qǐng)幫忙看下

   
作者: cyberstan    時(shí)間: 2014-10-23 13:13
用show profile看看哪個(gè)環(huán)節(jié)慢了
作者: seesea2517    時(shí)間: 2014-10-23 15:48
回復(fù) 4# netmarshal


    其它也沒(méi)啥想法了。樓上的命令可以試試看。
作者: action08    時(shí)間: 2014-10-23 21:08
網(wǎng)絡(luò)不好嗎??
作者: netmarshal    時(shí)間: 2014-10-23 22:14
回復(fù) 5# cyberstan


mysql> show profile;
Empty set, 1 warning (0.05 sec)


   
作者: netmarshal    時(shí)間: 2014-10-23 22:16
回復(fù) 3# seesea2517


    本機(jī)直接導(dǎo)入.sql 。130萬(wàn)條數(shù)據(jù)。差不多2分鐘左右就導(dǎo)入完畢
作者: seesea2517    時(shí)間: 2014-10-24 11:07
回復(fù) 10# netmarshal


但是web服務(wù)器向mysql數(shù)據(jù)庫(kù)寫入數(shù)據(jù)的時(shí)候。速度非常慢。2M的文件大約需要30分鐘才能寫入?


你測(cè)試的是同樣的數(shù)據(jù)嗎?如果同樣的數(shù)據(jù)在web執(zhí)行和mysql后臺(tái)執(zhí)行不一樣的話,那就要考慮web相關(guān)服務(wù)的問(wèn)題了。不會(huì)web服務(wù)每插入一個(gè)數(shù)據(jù)都是重新連接數(shù)據(jù)庫(kù)的吧?
作者: cyberstan    時(shí)間: 2014-11-06 15:09
回復(fù) 9# netmarshal

show profile是由Jeremy Cole捐獻(xiàn)給MySQL社區(qū)版本的。默認(rèn)的是關(guān)閉的,但是會(huì)話級(jí)別可以開啟這個(gè)功能。開啟它可以讓MySQL收集在執(zhí)行語(yǔ)句的時(shí)候所使用的資源。為了統(tǒng)計(jì)報(bào)表,把profiling設(shè)為1

mysql> SET profiling = 1;

之后在運(yùn)行一個(gè)查詢
mysql> SELECT COUNT(DISTINCT actor.first_name) AS cnt_name, COUNT(*) AS cnt
-> FROM sakila.film_actor
-> INNER JOIN sakila.actor USING(actor_id)
-> GROUP BY sakila.film_actor.film_id
-> ORDER BY cnt_name DESC;
...
997 rows in set (0.03 sec)

這個(gè)執(zhí)行語(yǔ)句的剖析信息存儲(chǔ)在這個(gè)會(huì)話中。使用SHOW PROFILES進(jìn)行查看。
mysql> SHOW PROFILES\G
*************************** 1. row ***************************
Query_ID: 1
Duration: 0.02596900
Query: SELECT COUNT(DISTINCT actor.first_name) AS cnt_name,...

你可以使用SHOW PROFILE語(yǔ)句來(lái)獲取已經(jīng)存儲(chǔ)的剖析數(shù)據(jù)。如果不加參數(shù),會(huì)顯示狀態(tài)以及它們持續(xù)的時(shí)間。
mysql> SHOW PROFILE;
+------------------------+-----------+
| Status | Duration |
+------------------------+-----------+
| (initialization) | 0.000005 |
| Opening tables | 0.000033 |
| System lock | 0.000037 |
| Table lock | 0.000024 |
| init | 0.000079 |
| optimizing | 0.000024 |
| statistics | 0.000079 |
| preparing | 0.00003 |
| Creating tmp table | 0.000124 |
| executing | 0.000008 |
| Copying to tmp table | 0.010048 |
| Creating sort index | 0.004769 |
| Copying to group table | 0.0084880 |
| Sorting result | 0.001136 |
| Sending data | 0.000925 |
| end | 0.00001 |
| removing tmp table | 0.00004 |
| end | 0.000005 |
| removing tmp table | 0.00001 |
| end | 0.000011 |
| query end | 0.00001 |
| freeing items | 0.000025 |
| removing tmp table | 0.00001 |
| freeing items | 0.000016 |
| closing tables | 0.000017 |
| logging slow query | 0.000006 |
+------------------------+-----------+

每行都是狀態(tài)變化的過(guò)程以及它們持續(xù)的時(shí)間。Status那一列和SHOW FULL PROCESSLIST的State應(yīng)該是一致的。
這個(gè)值是來(lái)自于thd->proc_info變量。因此你所查看的這個(gè)值是直接來(lái)自MySQL內(nèi)部的。盡管這些數(shù)值是比較直接易懂的,你也可以查看MySQL手冊(cè)。

你可以給SHOW PROFILES指定一個(gè)Query_ID來(lái)查看指定的語(yǔ)句,還可以給輸出添加新的列。如,查看用戶和CPU使用?梢杂萌缦旅睢

mysql> SHOW PROFILE CPU FOR QUERY 1;

SHOW PROFILE可以深入的查看服務(wù)器執(zhí)行語(yǔ)句的工作情況。以及也能幫助你理解執(zhí)行語(yǔ)句消耗時(shí)間的情況。一些限制是它沒(méi)有實(shí)現(xiàn)的功能,不能查看和剖析其他連接的語(yǔ)句,以及剖析時(shí)所引起的消耗。


   
作者: liguangyi    時(shí)間: 2014-11-19 22:12
既然用innodb,那么 innodb_buffer_pool_size 這個(gè)關(guān)鍵的參數(shù),設(shè)置的多少?
作者: action08    時(shí)間: 2014-11-20 08:06
沒(méi)那么復(fù)雜,應(yīng)該是上層應(yīng)用的問(wèn)題,這個(gè)需要優(yōu)化。

他都說(shuō)了本地130w數(shù)據(jù),才兩分鐘,數(shù)據(jù)庫(kù)配置本身很強(qiáng)大
作者: action08    時(shí)間: 2014-11-20 08:08
回復(fù) 10# netmarshal


    1秒寫應(yīng)該有1w條吧,怎么前文又說(shuō)100條了??
有不一樣的地方
作者: panyunlai    時(shí)間: 2014-11-26 00:00
這種問(wèn)題,我覺(jué)得本身mysql出問(wèn)題的肯能行很小,我之前也遇到過(guò),最后發(fā)現(xiàn)還是自己代碼寫的不夠優(yōu)化
樓主說(shuō)了數(shù)據(jù)庫(kù)本身命令導(dǎo)入很快,網(wǎng)絡(luò)又沒(méi)有問(wèn)題,所以首先要排查的問(wèn)題是自己的代碼,
是不是對(duì)每一條數(shù)據(jù)都是按照“打開數(shù)據(jù)庫(kù)”-》“拼接一條insert語(yǔ)句”-》“執(zhí)行sql語(yǔ)句”-》關(guān)閉數(shù)據(jù)庫(kù)連接這種
如有有這種問(wèn)題,樓主可以考慮優(yōu)化一下代碼,思路是批量的提交數(shù)據(jù),即拼接insert語(yǔ)句時(shí)可以做個(gè)計(jì)數(shù),
如計(jì)數(shù)達(dá)到1000條了,那么往數(shù)據(jù)庫(kù)插入一次,同時(shí)在插入數(shù)據(jù)之前可以考慮關(guān)閉table的索引,等所有數(shù)據(jù)插入
完成了在重新建立所以
希望能幫到樓主

作者: action08    時(shí)間: 2014-11-26 08:32
回復(fù) 16# panyunlai


    你反應(yīng)的問(wèn)題是屬于程序的問(wèn)題,得讓開發(fā)那邊處理


作者: action08    時(shí)間: 2014-11-26 08:35
也可以想象,現(xiàn)在很多公司的研發(fā)管理很混亂,沒(méi)有人有效擔(dān)當(dāng)責(zé)任

這事情,新人能把事情做出來(lái),就已經(jīng)不錯(cuò)了。還是研發(fā)管理的問(wèn)題
問(wèn)題全部交給下層,太累人了
作者: thy_shenzhen    時(shí)間: 2015-03-08 21:44
上面有人說(shuō)是SQL語(yǔ)句問(wèn)題,連接+拼湊+執(zhí)行等等,遠(yuǎn)程用連接工具導(dǎo)入不涉及這個(gè)問(wèn)題吧。
我覺(jué)得可能是網(wǎng)絡(luò)IO的問(wèn)題,是不是緩存設(shè)置小了。
作者: asdf2110    時(shí)間: 2015-03-10 14:42
我覺(jué)得和web端網(wǎng)數(shù)據(jù)庫(kù)寫入數(shù)據(jù)的方式有關(guān),是不是一條語(yǔ)句一提交導(dǎo)致的?
我做了個(gè)例子:
  1. awk 'BEGIN{print "create table t(a int);\nbegin;";  for (i=0;i<10000;i++)print "insert into t values("i");"; print "commit;"}' | /opt/mastermysql/mysql/bin/mysql -u root -h 127.0.0.1 -P 3309 test
復(fù)制代碼
如果沒(méi)有 "begin;"和"commit;" ,那么就變成一條語(yǔ)句一提交,默認(rèn)每次提交InnoDB都會(huì)將日志刷盤,導(dǎo)致很慢
但是如果變成成組提交,只在提交時(shí)刷一次盤,會(huì)快很多。


回復(fù) 1# netmarshal


   




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2