Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Redis - увеличивается время set () после 350k ключей
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Redis - увеличивается время set () после 350k ключей

Страниц (1): [1]
 

1. denntl - 04 Сентября, 2016 - 14:30:48 - перейти к сообщению
Здравствуйте. Работает парсер, пишет в редис. На момент добавления 350 000 ключей (согласно info, сам размер rdb 27 MB) увидел что время на запись ключа стало не 0.001 как при пустой БД, а 0.08, что существенно увеличило время выполнения моего синхронного скрипта.

Так вот меня удивляет этот факт. Конфиг редиса стандартный. ОП памяти 16 GB на машине, 8 ядер процессор. Тестирую парсер на Виндовс 7.

Разве так и должно быть?

Менял конфигурацию редиса, давал ему 1 ГБ оперативки (хоть согласно info [used_memory_peak_human] => 62.29M), отключал запись по времени\лимиту, удалось снизить время с 0.08 на 0.07. Записи максимум по 100 символов, по сути json строка. В среднем длина около 30 символов.

Я, конечно, могу посмотреть в сторону асинхронности, многопоточности либо задействовать NodeJS, но может можно как-то иначе решить этот вопрос. Буду благодарен за идеи.



Вот весь инфо массив:

PHP:
скопировать код в буфер обмена
  1. (
  2. [redis_version] => 3.0.501
  3. [redis_git_sha1] => 0
  4. [redis_git_dirty] => 0
  5. [redis_build_id] => ba05b51e58eb9205
  6. [redis_mode] => standalone
  7. [os] => Windows
  8. [arch_bits] => 64
  9. [multiplexing_api] => WinSock_IOCP
  10. [process_id] => 2928
  11. [run_id] => 078292439f7dee97f77d0e7f885de8fdf57a1d85
  12. [tcp_port] => 6379
  13. [uptime_in_seconds] => 6029
  14. [uptime_in_days] => 0
  15. [hz] => 10
  16. [lru_clock] => 13360558
  17. [config_file] => d:\openserver\modules\redis\Redis-3.0-x64\redis.conf
  18. [connected_clients] => 1
  19. [client_longest_output_list] => 0
  20. [client_biggest_input_buf] => 0
  21. [blocked_clients] => 0
  22. [used_memory] => 63280688
  23. [used_memory_human] => 60.35M
  24. [used_memory_rss] => 63222040
  25. [used_memory_peak] => 65320216
  26. [used_memory_peak_human] => 62.29M
  27. [used_memory_lua] => 36864
  28. [mem_fragmentation_ratio] => 1.00
  29. [mem_allocator] => jemalloc-3.6.0
  30. [loading] => 0
  31. [rdb_changes_since_last_save] => 0
  32. [rdb_bgsave_in_progress] => 0
  33. [rdb_last_save_time] => 1472972321
  34. [rdb_last_bgsave_status] => ok
  35. [rdb_last_bgsave_time_sec] => -1
  36. [rdb_current_bgsave_time_sec] => -1
  37. [aof_enabled] => 0
  38. [aof_rewrite_in_progress] => 0
  39. [aof_rewrite_scheduled] => 0
  40. [aof_last_rewrite_time_sec] => -1
  41. [aof_current_rewrite_time_sec] => -1
  42. [aof_last_bgrewrite_status] => ok
  43. [aof_last_write_status] => ok
  44. [total_connections_received] => 20
  45. [total_commands_processed] => 352968
  46. [instantaneous_ops_per_sec] => 0
  47. [total_net_input_bytes] => 15868781
  48. [total_net_output_bytes] => 24437111
  49. [instantaneous_input_kbps] => 0.01
  50. [instantaneous_output_kbps] => 1.21
  51. [rejected_connections] => 0
  52. [sync_full] => 0
  53. [sync_partial_ok] => 0
  54. [sync_partial_err] => 0
  55. [expired_keys] => 0
  56. [evicted_keys] => 0
  57. [keyspace_hits] => 352596
  58. [keyspace_misses] => 0
  59. [pubsub_channels] => 0
  60. [pubsub_patterns] => 0
  61. [latest_fork_usec] => 0
  62. [migrate_cached_sockets] => 0
  63. [role] => master
  64. [connected_slaves] => 0
  65. [master_repl_offset] => 0
  66. [repl_backlog_active] => 0
  67. [repl_backlog_size] => 1048576
  68. [repl_backlog_first_byte_offset] => 0
  69. [repl_backlog_histlen] => 0
  70. [used_cpu_sys] => 19.33
  71. [used_cpu_user] => 6.46
  72. [used_cpu_sys_children] => 0.00
  73. [used_cpu_user_children] => 0.00
  74. [cluster_enabled] => 0
  75. [db0] => keys=352653,expires=0,avg_ttl=0
  76. )

 

Powered by ExBB FM 1.0 RC1