ååã®èšäºãBitrix24ã®11 MySQL Cooking Recipesãã§ã¯ ãäž»ã«ã¢ãŒããã¯ãã£ãœãªã¥ãŒã·ã§ã³ã«ã€ããŠæ€èšããŸãããã¯ã©ãŠããµãŒãã¹ïŒAmazon RDSãªã©ïŒã䜿çšãã䟡å€ãããããMySQLãéžæããããªã©ã§ãã
ã¬ãã¥ãŒããå€æãããšã倧èŠæš¡ãªãé«è² è·ããããžã§ã¯ãã§ã®MySQLã®æèœãªéçšã®ãããã¯ã¯éåžžã«å€§ããéèŠã§ãã ãã®ããã Bitrix24ã®éçºäžã«ééããæ¥åžžçã«äœ¿çšããŠããããŒã¿ããŒã¹ã®ãã¥ãŒãã³ã°ãšç®¡çã®åŸ®åŠãªéãã«ã€ããŠãããã«è©±ãåãããšã«ããŸããã
ãã®èšäºïŒããã³ä»¥åã®èšäºïŒã¯ãããããå Žé¢ã§å®ç§ãªMySQLãã¥ãŒãã³ã°ãè¡ãããã®æ®éçãªãã¬ã·ããã§ã¯ãªãããšãæ¹ããŠæãåºããŸãã :)ããã¯èµ·ãããŸããã :)ããããç§ã¯ããªããåã ã®ç¹å®ã®åé¡ã解決ããããšã圹ç«ã€ãšå¿ããä¿¡ããŠããŸãã
ãããŠãèšäºã®çµããã«-ã»ãšãã©ã®æ£è ã®èªè ã®ããã®é©ãã :)
1. QUERY CACHEã®ã»ããã¢ãã
MySQLã§ã¯ãšãªãã£ãã·ã¥ãã©ã®ããã«æ©èœããããããã³ãããèšå®ããŠäœ¿çšããæ¹æ³ã説æããèšäºãæ°å€ãæžãããŠããŸãã
ããã§ããããŒã¿ããŒã¹ãã»ããã¢ããããã·ã¹ãã 管çè ã®æãäžè¬çãªèª€è§£ã¯ãã ãã£ãã·ã¥çšã®ã¡ã¢ãªãå€ãæäŸããã»ã©è¯ã ã ã§ã ã
ããã§ã¯ãããŸããã
MySQLã¯å€§ããªã¯ãšãªãã£ãã·ã¥ãåŠçããŸããã å®éã«ã¯ã query_cache_sizeã512Mãè¶ ãããšã ãã¯ãšãªãã£ãã·ã¥ããã¯ã®åŸ æ©ãç¶æ ïŒSHOW PROCESSLISTã§è¡šç€ºïŒã§çæéãã³ã°ããããã»ã¹ãé »ç¹ã«è¡šç€ºããããšããäºå®ã«ééããŸããã
ããã«ããã¹ãŠã®ãªã¯ãšã¹ãããã£ãã·ã¥ã«èœã¡ãå Žåããããå¢ããããšã¯è³¢æã§ã¯ãããŸããã ã·ã¹ãã å ã®RAMã¯è²Žéã§ãïŒ
ãããã£ãŠããããžã§ã¯ãã§äœãèµ·ãã£ãŠããã®ããçŸåšã®èšå®ã§ã¯ãšãªãã£ãã·ã¥ãã©ã®çšåºŠå¹æçã«äœ¿çšãããŠããã®ããç解ããããšãåžžã«éèŠã§ãã
äž»ãªæ å ±ã¯æ¬¡ã®ãšããã§ãã
mysql> SHOW STATUS LIKE 'Qcache%'; +-------------------------+----------+ | Variable_name | Value | +-------------------------+----------+ | Qcache_free_blocks | 10541 | | Qcache_free_memory | 36381984 | | Qcache_hits | 18888719 | | Qcache_inserts | 5677585 | | Qcache_lowmem_prunes | 1725258 | | Qcache_not_cached | 6096307 | | Qcache_queries_in_cache | 36919 | | Qcache_total_blocks | 97285 | +-------------------------+----------+ 8 rows in set (0.00 sec)
æãéèŠãªã®ã¯ãQcache_hitsãšQcache_insertsãQcache_insertsãšQcache_not_cachedãããã³Qcache_lowmem_prunesïŒãã£ãã·ã¥ãããã£ãã·ã¥ãããèŠæ±ã®æ°ïŒãšQcache_free_memoryã®æ¯çã§ãã
ãããã®çµ±èšããšãã©ãèŠãã®ã§ã¯ãªããåæãæå ã«çšæããããšããå§ãããŸãã ããŸããŸãªç£èŠããŒã«ã䜿çšããŠåéã§ããŸãã ããšãã°ãMuninïŒ
ãã€ããã¯ã¹ã®ã°ã©ããèŠããšãããšãã°1æ¥ã«1åãæçµçã«1ã€ã®ãµãŒããŒã®ãããã®èšå®ã§ååã§ãããšããçµè«ã«éããŸããã
query_cache_size = 128M query_cache_limit = 2M
ãã¡ãããããããããªãã®ãããžã§ã¯ãã«ãšã£ãŠã¯ç¶æ³ã¯ç°ãªãã§ãããã
2. innodb_buffer_pool_size
ãããã¡ãŒããŒã«ã®ãµã€ãºã¯ãInnoDBã®æãéèŠãªèšå®ã®1ã€ã§ãã ããã¯ãããŒã¿ãã£ãã·ã¥ãšããŒãã«ã€ã³ããã¯ã¹ã®äœæ¥äžã«MySQLã䜿çšããã¡ã¢ãªãããã¡ãŒã®ãµã€ãºã§ãïŒMySQLãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ããããã«ãã£ãã·ã¥ãåé¿ããããã«ãèšå®ã§innodb_flush_method = O_DIRECTãæå®ãã䟡å€ãããããšãããã«æãåºããŸãïŒã
MySQLéçºè ã®åŽããèŠãæ倧ã®ç¯çœªã®1ã€ã¯ãããã©ã«ãå€ã8Mã«èšå®ããããšã§ãã :)
å®éãçæ³çã«ã¯ã innodb_buffer_pool_sizeã®å€ã¯ãããŒã¿ããŒã¹å šäœãã¡ã¢ãªã«åãŸãããã«ããå¿ èŠããããŸãã åæã«ãã·ã¹ãã ã¯ã¡ã¢ãªãšãã©ã³ã¹ãåããŠããããšãèŠããŠããããšãéèŠã§ãïŒããã«ã€ããŠã¯ååã®èšäºã§èª¬æããŸãã ïŒ -innodb_buffer_pool_sizeã®å€ããåŒãè£ããŠããã·ã¹ãã å šäœãã¹ã¯ããããããã«ãªããšãäœãããŸããããŸããã
é©åãªã»ããã¢ããã®è¯ãææšã¯ããããã¡ããŒã«ã®ãããçã§ãã
mysql> SHOW ENGINE InnoDB STATUS\G ... ---------------------- BUFFER POOL AND MEMORY ---------------------- ... Buffer pool hit rate 994 / 1000, young-making rate 6 / 1000 not 0 / 1000 ...
å€ãã1000/1000ãã«è¿ãå Žå-ãã¹ãŠã¯é 調ã§ãã ãã以å€ã®å Žåã¯ã innodb_buffer_pool_sizeãå¢ããå¿ èŠããããŸãã ååãªã¡ã¢ãªããªãå Žåã¯ãã¡ã¢ãªãè¿œå ããŸãã
3. innodb_buffer_pool_instances
ããã©ã«ãã§ã¯ãInnoDBã¯ãããã¡ãŒããŒã«ã«1ã€ã®ã€ã³ã¹ã¿ã³ã¹ã䜿çšããŸãã
åæã«ãè€æ°ã®ãããã¯ãéžæããããšãã§ããŸããMySQLã¯ãInnoDBã§ãããã®ãããã¯ãããå¹ççã«äœ¿çšããå ŽåããããŸãã
ãããã¡ãŒããŒã«ã¯ã2 GBãè¶ ããå Žåãããã€ãã®ã€ã³ã¹ã¿ã³ã¹ã«åå²ããå¿ èŠããããŸãã åã€ã³ã¹ã¿ã³ã¹ã®ãµã€ãºã¯1 GB以äžã®äŸ¡å€ããããŸãã
ããã«ãå€ãã®äººãæ··åããŠããéèŠãªè³ªåããããŸãïŒ innodb_buffer_pool_sizeã¯ããŒã«ã®åèšãµã€ãºã§ããããããšã1ã€ã®ã€ã³ã¹ã¿ã³ã¹ã®ãµã€ãºã§ããïŒ
çãã¯ããã¥ã¡ã³ãã«ãããŸã-ããã¯åèšãµã€ãºã§ãã ãããã£ãŠãããšãã°ã次ã®ãããªæ§æããããŸãã
innodb_buffer_pool_size = 4096M innodb_buffer_pool_instances = 4
...åã€ã³ã¹ã¿ã³ã¹ã1 GBãå æãããšèšããŸãã
ã€ã³ã·ãã³ãããªãããšã«æ³šæããŠãã ããïŒMySQL DBAã«ãµãã¹ã¯ã©ã€ãããŠããå人ã®1人ããèšå®innodb_buffer_pool_size = 1024Mãinnodb_buffer_pool_instances = 64-64 GBã®å²ãåœãŠãèšç»ããŠMySQLãæäœããçµéšã説æããŸããã
4. innodb_io_capacity
èå³æ·±ããã©ã¡ãŒã¿ïŒå ¬åŒããã¥ã¡ã³ããä¿¡ããŠããå Žå:)ïŒãããã©ãŒãã³ã¹ã«ã¯ããŸã圱é¿ããŸããããå®éã«ã¯æ£ããèšå®ãããŠããã°ããçšåºŠã®å©çãåŸãããŸãã
innodb_io_capacityã¯ãããã¯ã°ã©ãŠã³ãã§å®è¡ãããInnoDBæäœïŒããšãã°ããããã¡ãŒããŒã«ãããã£ã¹ã¯ãžã®ããŒãžã®ãã³ãïŒã®å ¥åºåæäœïŒIOPSïŒã®å¶éãèšå®ããŸãã
ããã©ã«ãå€ã¯200ã§ãã
å€ãå°ãããããšããããã®æäœããé ãããŸãã 倧ãããããšããããã¡ããŒã«ããã®ããŒã¿ãããã«ãã©ãã·ã¥ãããŸãã
çæ³çã«ã¯ããã£ã¹ã¯ã·ã¹ãã ã®å®éã®ããã©ãŒãã³ã¹ã«å¯Ÿå¿ããå€ãèšå®ããå¿ èŠããããŸãïŒåã³ãIOPSã§ïŒã
5. innodb_file_per_table
ããã©ã«ãã§ã¯ãInnoDBã®MySQLã¯ãã¹ãŠã®ããŒãã«ã®ããŒã¿ãšã€ã³ããã¯ã¹ã1ã€ã®ããŒãã«ã¹ããŒã¹ïŒibdata1ãã¡ã€ã«ïŒã«ä¿åããŸãã
èšå®ã§innodb_file_per_tableãªãã·ã§ã³ã䜿çšãããŠããå Žåããã®å ŽåãããŒã¿ãšã€ã³ããã¯ã¹ãä¿åãããŠããããŒãã«ããšã«åå¥ã®ãã¡ã€ã«table_name.ibdãäœæãããŸãã
ããã¯çã«ããªã£ãŠããŸããïŒ
ç§å人ã®æèŠã§ã¯ãæšæºã®MySQLã䜿çšããå Žåã䜿çšããå¿ èŠã¯ãããŸããã ããŒãã«ãå¥ã ã®ãã¡ã€ã«ã«ä¿åãããšãããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããŸããããã¯ãã·ã¹ãã å ã§ãªãœãŒã¹ã倧éã«æ¶è²»ãããé«äŸ¡ãªãæäœãåçã«å¢ããããã§ãã
ç§ãã¡ã¯Percona Serverã䜿çšããŠããŸãã ãããŠã innodb_file_per_tableã䜿çšããŸã ã
- éåžžã®MySQLã§äœããã®çç±ã§1ã€ãŸãã¯è€æ°ã®ããŒãã«ãç Žãããå ŽåãããŒã¿ããŒã¹å šäœããç«ã¡äžããããŸãã Perconã§ã¯ã innodb_corrupt_table_action = assertãªãã·ã§ã³ã䜿çšã§ããŸããinnodb_file_per_tableã䜿çšãããšã ãå£ãããããŒãã«ãããŒã¯ãããŸãããããŒã¿ããŒã¹å šäœã¯åŒãç¶ãæ©èœããŸãã
- innodb_file_per_tableã䜿çšãããšãããã©ãŒãã³ã¹ãæããã«äœäžããæäœããã¹ããŒãã¢ãããããæ©äŒããã§ã«ãããŸãã ããšãã°ãããŒãã«ã®åé€ã ãã®ãããªç®çã®ããã«ãPerconã«ã¯ãªãã·ã§ã³innodb_lazy_drop_table = 1ããããŸããããã¯ãããã¯ã°ã©ãŠã³ãã§ãã®ãããªæäœãèš±å¯ããã·ã¹ãã å šäœã®ããã©ãŒãã³ã¹ãäœäžãããŸããã
- innodb_file_per_tableãªãã·ã§ã³ããªã³ã«ãããšãXtraBackupã䜿çšããŠãããŒãã«ã®é«éãã€ããªã€ã³ããŒã/ãšã¯ã¹ããŒããå®è¡ã§ããŸãã
6. max_connect_errors
å¥ã®ç¯çœªè :) MySQLéçºè ã®é°è¬ã max_connect_errorsã®ããã©ã«ãå€ã¯10ã§ãã
ããã¯ãå€ããå°ãªããã¢ã¯ãã£ããªãããžã§ã¯ãã§ãäºæããªãé害ãçºçããå Žå-çæçãªãã®ïŒããšãã°ãã¹ã¯ãªããã«èª€ã£ããã¹ã¯ãŒããå ¥åãããããŸãã¯ãããã¯ãŒã¯ã®åé¡ãçºçããå ŽåïŒ-ãããã¯ãããŸãã MySQLãµãŒããŒãåèµ·åãããããFLUSH HOSTSã³ãã³ããå®è¡ããããŸã§ã
ããã¯ãæåä»å ¥ã®åïŒFLUSH HOSTSãæ°åããšã«å®è¡ããã¹ã¯ãªãããäºåã«cronã«æçš¿ããªãã£ãå Žåã®ã¿:)ïŒãããžã§ã¯ããæ©èœããªãããšãæå³ããŸãã ãããå€éã«çºçãã24æéç£èŠãããŠããªãå Žåã¯äžå¿«ã§ãã
äºåã«èªåèªèº«ãä¿è·ãã max_connect_errorsã®å€ã倧ããèšå®ããããšããå§ãããŸãã äŸïŒ
max-connect-errors = 10000
7.äžæããŒãã«
ã·ã¹ãã å ã®RAMã®å®¹éãèš±ãå Žåã¯ãåžžã«ã¡ã¢ãªå ã®äžæããŒãã«ãæäœããããšããå§ãããŸãã
ãããæŽçããã®ã¯ç°¡åã§ãã MySQLã®èšå®ïŒ
tmpdir = /dev/shm
ãã¡ã€ã«ã·ã¹ãã ãšããŒãã£ã·ã§ã³ã®èšå®ïŒLinuxã®å Žå-/ etc / fstabãã¡ã€ã«ïŒïŒ
# <file system> <mount point> <type> <options> <dump> <pass> tmpfs /dev/shm tmpfs defaults 0 0
8.äžæããŒãã«ã®ãµã€ãº
ã¡ã¢ãªå ã®ããŒãã«ã®ãµã€ãºãæ åœããåæ§ã®ãã©ã¡ãŒã¿ãŒã2ã€ãããŸãã
max_heap_table_size = 64M tmp_table_size = 64M
max_heap_table_size-ãŠãŒã¶ãŒãäœæã§ããMEMORYã¿ã€ãã®ããŒãã«ã®æ倧ãµã€ãºã
tmp_table_size-ã¡ã¢ãªå ã«äœæãããäžæããŒãã«ã®æ倧ãµã€ãºïŒãã£ã¹ã¯äžïŒã
ãã£ã¹ã¯ã¢ã¯ãã£ããã£ãå°ãªãã»ã©åªããŠããŸãã ãããã£ãŠãã·ã¹ãã å ã®RAMã®éã蚱容ããå ŽåïŒã¡ã¢ãªãã©ã³ã¹ãèŠããŠãããŠãã ããïŒãã¡ã¢ãªå ã®ãã¹ãŠã®äžæããŒãã«ãæäœããããšããå§ãããŸãã
9. table_cacheããã³table_definition_cache
table_cache = 4096 table_definition_cache = 4096
ãããã®2ã€ã®ãªãã·ã§ã³ã¯ãéããŠããããŒãã«ã®ãã£ãã·ã¥ã«ä¿åãããããŒãã«ã®æ倧æ°ã決å®ããŸãã
table_cacheã®å€ã¯ãã·ã¹ãã å ã®ããŒãã«ã®æ°ãã¯ãšãªã§éãããŒãã«ã®æ°ïŒããšãã°ãJOINãä»ããŠãªã³ã¯ãããïŒãããã³ããŒã¿ããŒã¹ãžã®éããŠããæ¥ç¶ã®æ°ã«çŽæ¥äŸåããŸãã
table_definition_cacheã¯ãããŒãã«æ§é ïŒ.frmïŒãã¡ã€ã«ã®ãã£ãã·ã¥ãµã€ãºãå®çŸ©ããŸãã ã·ã¹ãã å ã«ããã»ã©ã table_definition_cacheã®å€ã倧ããèšå®ããå¿ èŠããããŸãã
10.é·ããªã¯ãšã¹ãã®éäº
ååã®èšäºã§ã¯ãPercona Serverãã·ã¹ãã å šäœã®ããã©ãŒãã³ã¹ãå€æããããã®åªããããŒã«ïŒ SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME ïŒãæã£ãŠããããšãæ¢ã«è¿°ã¹ãŸããã
ããã«ãã©ã®MySQLã§ãããã¹ãŠã®ãé ããã¯ãšãªããã°ã«èšé²ããåå¥ã«è§£æããããšãã§ããŸãã
Percona Serverã䜿çšãããšãé ãã¯ãšãªã®ãã°ãããæçã«ãªããŸãã
log_output = FILE slow_query_log = 1 slow_query_log_file = mysql_slow.log long_query_time = 1 #percona log_slow_verbosity = microtime,query_plan,innodb
1ç§ããé·ãå®è¡ããããã¹ãŠã®ã¯ãšãªã¯ãmysql_slow.logã«æžã蟌ãŸããŸãã æšæºãã°ãšã¯ç°ãªãã次ã®ããã«ãªããŸãã
# Time: 120712 9:43:47 # User@Host: user[user] @ [10.206.66.207] # Thread_id: 3513565 Schema: user Last_errno: 0 Killed: 0 # Query_time: 1.279800 Lock_time: 0.000053 Rows_sent: 0 Rows_examined: 1 Rows_affected: 0 Rows_read: 0 # Bytes_sent: 52 Tmp_tables: 0 Tmp_disk_tables: 0 Tmp_table_sizes: 0 # InnoDB_trx_id: 33E7689B # QC_Hit: No Full_scan: No Full_join: No Tmp_table: No Tmp_table_on_disk: No # Filesort: No Filesort_on_disk: No Merge_passes: 0 # InnoDB_IO_r_ops: 0 InnoDB_IO_r_bytes: 0 InnoDB_IO_r_wait: 0.000000 # InnoDB_rec_lock_wait: 0.000000 InnoDB_queue_wait: 0.000000 # InnoDB_pages_distinct: 4 UPDATE b_user_option SET 'COMMON' = 'N', 'VALUE' = 'a:19', 'NAME' = 'openTab', 'CATEGORY' = 'IM' WHERE ID=1719;
ã¯ãšãªã®å®è¡æéããã¹ãã£ã³ããããè¡ã®æ°ãªã©ã ãã§ãªãããã詳现ãªæ å ±-ãã«ã¹ãã£ã³ãäžæããŒãã«ã®äœ¿çšãInnoDBã®ã¹ããŒã¿ã¹ã確èªã§ããŸãã
ããã¯ãã¹ãŠãé ãã¯ãšãªãšãã®ãããã°ã®åæã«å€§ãã«åœ¹ç«ã¡ãŸãã
11. Perconaã䜿çšããªã詳现ãªçµ±èš
æšæºã®MySQLã䜿çšããŠããå Žåã§ããåªããã¯ãšãªãããã°ããŒã«ããããŸãïŒãã¡ãããæ¢ã«ããã£ãããããŠèå¥ããŠããå Žå:)ãããšãã°ãã¹ããŒã¯ãšãªã®åããã°ã䜿çšããŸãïŒã
ãããã¡ã€ã«ã®ãããªãã®ããããŸãã ãããã䜿çšããŸããïŒ ããïŒ ç¡é§ã ïŒ
mysql> SHOW PROFILES; Empty set (0.02 sec) mysql> SHOW PROFILE; Empty set (0.00 sec)
ãããã¡ã€ãªã³ã°ããªã³ã«ããŠããªã¯ãšã¹ãã確èªããŸãã
mysql> SET PROFILING=1; Query OK, 0 rows affected (0.00 sec) mysql> SELECT COUNT(*) FROM mysql.user; +----------+ | COUNT(*) | +----------+ | 3024 | +----------+ 1 row in set (0.09 sec) mysql> SHOW PROFILES; +----------+------------+---------------------------------+ | Query_ID | Duration | Query | +----------+------------+---------------------------------+ | 1 | 0.09104400 | SELECT COUNT(*) FROM mysql.user | +----------+------------+---------------------------------+ 1 row in set (0.00 sec) mysql> SHOW PROFILE; +--------------------------------+----------+ | Status | Duration | +--------------------------------+----------+ | starting | 0.000018 | | Waiting for query cache lock | 0.000004 | | Waiting on query cache mutex | 0.000004 | | checking query cache for query | 0.000041 | | checking permissions | 0.000007 | | Opening tables | 0.090854 | | System lock | 0.000013 | | init | 0.000012 | | optimizing | 0.000007 | | executing | 0.000010 | | end | 0.000005 | | query end | 0.000004 | | closing tables | 0.000031 | | freeing items | 0.000029 | | logging slow query | 0.000003 | | cleaning up | 0.000004 | +--------------------------------+----------+ 16 rows in set (0.00 sec)
ãããã¯ãŒã¯ããã£ã¹ã¯ã®æäœããã£ãã·ã¥ã®äœ¿çšãªã©ãããã«ããã¯ãäœã§ããããããã«ããããŸãã
12.ãããã¡ã€ã«ã®æ å ±ã䜿çšããæ¹æ³ã¯ïŒ
åäžã®é·ãã¯ãšãªãèŠã€ããããšãåŠãã å ŽåïŒããã»ã©é£ãããªã-é ãã¯ãšãªã®ãã°ãšSHOW PROCESSLISTã圹ç«ã€ïŒãã·ã¹ãã å šäœã®ç¶æ ãæ£ããè©äŸ¡ããå ŽåïŒ SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME ãã·ã¹ãã ã®å€éšç£èŠãããšãã°nagios- munin-åæïŒãã·ã¹ãã ã®ããã©ãŒãã³ã¹ã«åœ±é¿ãäžãããã®ãç解ããããšã¯éåžžã«éèŠã§ãïŒ
- ã·ã¹ãã ã®ãã¹ãŠã®å éšãªãœãŒã¹-ããŒã¹ã«ã¯ãCPUãRAMããã£ã¹ã¯ã·ã¹ãã ã®ãããããå€ããããããšã¯ãããŸããã
- ããã¯ïŒããŒãã«ã¬ãã«-MyISAMã®å Žåãå€ããè¡ã¬ãã«-InnoDBïŒ;
- å éšããã¯ïŒããšãã°ããã¯ãšãªãã£ãã·ã¥ããã¯ã®åŸ æ©ãïŒã
ãããç解ãããããã¡ã€ã«ãŸãã¯äœéã¯ãšãªã®æ¡åŒµãã°ãªã©ã®ããŒã¿ãåæãããšãããŒã¿ããŒã¹ãæäœãããããªãæŠç¥ãåžžã«æ£ããè©äŸ¡ã§ããŸã-ãã®å ŽåãããŒããŠã§ã¢ãã¢ããã°ã¬ãŒãããå¿ èŠããããŸã-ããããŸãã¯ä»ã®èšå®ãå€æŽãããããã-åç·šæããŒã¿ããã³ã¯ãšãªæ§é ã
* * *
ããããããªã¥ãŒã ã®ããããè² è·ã§ã®ããŒã¿ããŒã¹ã®æ£åžžãªãããã°ãšæ£åžžãªæäœïŒ :)
* * *
ãã®å Žæãèªãã§ãããŠããããšãïŒ :)
MySQLã®ãã³ããã圹ã«ç«ãŠã°å¹žãã§ãïŒ
ãããŠã Bitrix24ãããžã§ã¯ãã§MySQLãæäœããçµéšã«ã€ããŠè©±ããŠããã®ã§ã Habréã®ããã°ã®ãã¹ãŠã®èªè ã«ãããããªèŽãç©ãããããšæããŸãã
æå®ããããªã³ã¯ã§Bitrix24ã«ç»é²ãããšã2åã®ãã£ã¹ã¯ïŒ10 GBïŒãç¡æã§å ¥æã§ããŸãïŒ
çªç¶Bitrix24ãäœã§ãããããããªãå Žåã¯ã 詳现ãªèª¬æãWebãµã€ãã«ãããŸãã :)