benchmark环境:
fastdfs 5.0.8 + PHP7 +4G 内存+ 每次1M文件
用ab做压测的时候,多压测之后发现有内存泄露
ab -c100 -n1000 "http://192.168.10.244/ycf_fastdfs/test.php?fname=001"
日志输出:
···
tail -f /storage/logs/storaged.log
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:39] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:40] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:54] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:49:38] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
···
代码
···
$info = $this->fdfs->storage_upload_by_filename($localfile, $ext_name,
array(), null, $this->tracker, $this->storage);
if (is_array($info)) {
$group_name = $info['group_name'];
$remote_filename = $info['filename'];
$source_info = $this->fdfs->get_file_info($group_name,
$remote_filename);
$source_ip = $source_info['source_ip_addr'];
$file_size = $source_info['file_size'];
$this->fdfs->tracker_close_all_connections();
return compact('group_name', 'remote_filename',
'source_ip', 'file_size');
}
···
PHP输出
array('retCode'=>$this->fdfs->get_last_error_no(),'errMsg'=>$this->fdfs->get_last_error_info());
···
array(2) { ["retCode"]=> int(32) ["errMsg"]=> string(11) "Broken pipe" }
···
monitor
···
/usr/bin/fdfs_monitor /etc/fdfs/client.conf
[2016-01-07 18:57:28] DEBUG - base_path=/storage, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
server_count=1, server_index=0
tracker server is 192.168.10.244:22122
group count: 1
Group 1:
group name = group1
disk total space = 465098 MB
disk free space = 291003 MB
trunk free space = 0 MB
storage server count = 2
active server count = 2
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0
Storage 1:
id = 192.168.10.242
ip_addr = 192.168.10.242 ACTIVE
http domain =
version = 5.08
join time = 2015-12-29 21:24:45
up time = 2016-01-04 12:18:18
total storage = 934543 MB
free storage = 736624 MB
upload priority = 10
store_path_count = 1
subdir_count_per_path = 256
storage_port = 23000
storage_http_port = 8888
current_write_path = 0
source storage id = 192.168.10.243
if_trunk_server = 0
connection.alloc_count = 256
connection.current_count = 256
connection.max_count = 256
total_upload_count = 401413
success_upload_count = 401413
total_append_count = 0
success_append_count = 0
total_modify_count = 0
success_modify_count = 0
total_truncate_count = 0
success_truncate_count = 0
total_set_meta_count = 286222
success_set_meta_count = 286222
total_delete_count = 16
success_delete_count = 16
total_download_count = 49627
success_download_count = 49627
total_get_meta_count = 21
success_get_meta_count = 21
total_create_link_count = 0
success_create_link_count = 0
total_delete_link_count = 0
success_delete_link_count = 0
total_upload_bytes = 98746663528
success_upload_bytes = 98746663528
total_append_bytes = 0
success_append_bytes = 0
total_modify_bytes = 0
success_modify_bytes = 0
stotal_download_bytes = 2750713415
success_download_bytes = 2750713415
total_sync_in_bytes = 50608869108
success_sync_in_bytes = 50608869108
total_sync_out_bytes = 0
success_sync_out_bytes = 0
total_file_open_count = 1130799
success_file_open_count = 1130799
total_file_read_count = 49648
success_file_read_count = 49648
total_file_write_count = 1589464
success_file_write_count = 1589464
last_heart_beat_time = 2016-01-08 02:58:31
last_source_update = 2016-01-07 18:57:13
last_sync_update = 2016-01-07 18:57:13
last_synced_timestamp = 2016-01-07 18:55:26 (02m:01s delay)
Storage 2:
id = 192.168.10.243
ip_addr = 192.168.10.243 ACTIVE
http domain =
version = 5.08
join time = 2015-12-29 21:09:51
up time = 2016-01-04 20:21:36
total storage = 465098 MB
free storage = 291003 MB
upload priority = 10
store_path_count = 1
subdir_count_per_path = 256
storage_port = 23000
storage_http_port = 8888
current_write_path = 0
source storage id =
if_trunk_server = 0
connection.alloc_count = 256
connection.current_count = 256
connection.max_count = 256
total_upload_count = 403204
success_upload_count = 403204
total_append_count = 0
success_append_count = 0
total_modify_count = 0
success_modify_count = 0
total_truncate_count = 0
success_truncate_count = 0
total_set_meta_count = 282311
success_set_meta_count = 282311
total_delete_count = 0
success_delete_count = 0
total_download_count = 45234
success_download_count = 45234
total_get_meta_count = 0
success_get_meta_count = 0
total_create_link_count = 0
success_create_link_count = 0
total_delete_link_count = 0
success_delete_link_count = 0
total_upload_bytes = 50603269563
success_upload_bytes = 50603269563
total_append_bytes = 0
success_append_bytes = 0
total_modify_bytes = 0
success_modify_bytes = 0
stotal_download_bytes = 2508863994
success_download_bytes = 2508863994
total_sync_in_bytes = 98749240732
success_sync_in_bytes = 98749240732
total_sync_out_bytes = 0
success_sync_out_bytes = 0
total_file_open_count = 1130942
success_file_open_count = 1130942
total_file_read_count = 45234
success_file_read_count = 45234
total_file_write_count = 1593312
success_file_write_count = 1593312
last_heart_beat_time = 2016-01-08 02:58:39
last_source_update = 2016-01-07 18:57:27
last_sync_update = 2016-01-07 18:57:27
last_synced_timestamp = 2016-01-07 18:55:22 (01m:51s delay)
···