Enterprise 1.14.1.0, nginx, php-fpm, solr, redis (2 개의 인스턴스-하나는 fpc, 다른 하나는 다른 것)
우리는 완전히 끝났습니다. 우리는 그럴듯 해 보이는 모든 구성 설정을 조정했습니다. 그리고 문제는 매일 지속됩니다. 어떤 아이디어라도 대단히 감사하겠습니다.
우리 사이트는 몇 분 동안 redis 잠금 및 덤프 오류를 경험 한 후 문제가 해결되고 다시 정상으로 돌아옵니다.
a:4:{i:0;s:24:"read error on connection";i:1;s:1196:"#0 /var/www/magento/lib/Credis/Client.php(440): Credis_Client->__call('select', Array)
#1 /var/www/magento/lib/Cm/Cache/Backend/Redis.php(117): Credis_Client->select(0)
#2 /var/www/magento/lib/Zend/Cache.php(153): Cm_Cache_Backend_Redis->__construct(Array)
#3 /var/www/magento/lib/Zend/Cache.php(94): Zend_Cache::_makeBackend('Cm_Cache_Backen...', Array, true, true)
#4 /var/www/magento/app/code/local/Extendware/EWCacheBackend/Model/Override/Mage/Core/Cache.php(25): Zend_Cache::factory()
#5 /var/www/magento/app/code/core/Mage/Core/Model/Config.php(1348): ExtendwareInternal_EWCacheBackend_Model_Override_Mage_Core_Cache->__construct(Array)
#6 /var/www/magento/app/Mage.php(463): Mage_Core_Model_Config->getModelInstance('core/cache', Array)
#7 /var/www/magento/app/code/core/Mage/Core/Model/App.php(401): Mage::getModel('core/cache', Array)
#8 /var/www/magento/app/code/core/Mage/Core/Model/App.php(295): Mage_Core_Model_App->_initCache(Array)
#9 /var/www/magento/app/code/core/Mage/Core/Model/App.php(337): Mage_Core_Model_App->baseInit(Array)
#10 /var/www/magento/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#11 /var/www/magento/index.php(87): Mage::run('default', 'store')
#12 {main}";s:3:"url";s:48:"/";s:11:"script_name";s:10:"/index.php";}
- Magento Support가 Magento 측에서 올바른 구성을 확인했습니다 (로그인, 조사, 테스트 실행 및 Magento 문제가 아니라 "서버 문제"라고 주장함)
- 호스트 (Peer1)에는 Magento 전문가가있어 문제를 진단하기 위해 많은 시간을 보냈지 만 RAM, redis config 등의 자원 조달과 관련된 특정 문제를 아직 찾지 못했습니다.
- 우리의 RAM은 64GB로 두 배가되었으며 현재 약 20GB의 RAM이 비어 있습니다.
- PHP, PHP-FPM은 많은 CPU를 소비합니다
- 이것은 모두 웹 서버에 있으며 DB 서버는 분리되어 정상적으로 작동합니다.
다음은 정상 작동 중 오류가 발생하지 않은 경우 Top의 스냅 샷입니다.
top - 12:13:47 up 2 days, 16:05, 2 users, load average: 6.51, 7.33, 7.26
Tasks: 639 total, 13 running, 625 sleeping, 0 stopped, 1 zombie
Cpu(s): 47.7%us, 1.1%sy, 0.0%ni, 50.9%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 65937660k total, 41186844k used, 24750816k free, 551968k buffers
Swap: 8388604k total, 0k used, 8388604k free, 13040128k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
29720 nginx 20 0 1927m 553m 12m R 99.6 0.9 615:37.52 php
8638 nginx 20 0 1532m 146m 9236 R 98.3 0.2 4:01.43 php-fpm
8618 nginx 20 0 1582m 195m 8268 R 96.3 0.3 4:06.96 php-fpm
8664 nginx 20 0 1521m 144m 6932 S 96.0 0.2 4:12.06 php-fpm
8699 nginx 20 0 1582m 196m 9508 R 94.0 0.3 3:33.90 php-fpm
8740 nginx 20 0 1581m 194m 8188 R 94.0 0.3 4:05.63 php-fpm
8735 nginx 20 0 1583m 196m 9204 R 90.4 0.3 4:27.89 php-fpm
8634 nginx 20 0 1582m 195m 8080 R 81.4 0.3 4:07.25 php-fpm
8727 nginx 20 0 1529m 141m 9076 S 73.8 0.2 4:54.04 php-fpm
8597 nginx 20 0 1529m 143m 8020 S 62.6 0.2 3:56.57 php-fpm
8743 nginx 20 0 1518m 132m 9204 R 51.0 0.2 4:10.01 php-fpm
8601 nginx 20 0 1517m 132m 9284 S 48.7 0.2 4:04.32 php-fpm
8611 nginx 20 0 1530m 143m 8104 S 38.7 0.2 4:12.82 php-fpm
8614 nginx 20 0 1511m 124m 8216 R 28.1 0.2 3:26.96 php-fpm
8714 nginx 20 0 1532m 145m 8260 S 27.5 0.2 4:15.64 php-fpm
8684 nginx 20 0 1528m 142m 8232 R 22.8 0.2 4:01.39 php-fpm
8700 nginx 20 0 1519m 142m 5216 R 22.8 0.2 4:44.06 php-fpm
8691 nginx 20 0 1532m 146m 8208 R 19.5 0.2 4:32.76 php-fpm
8622 nginx 20 0 1533m 146m 8216 S 16.2 0.2 4:57.07 php-fpm
9134 redis 20 0 880m 175m 888 S 4.6 0.3 36:39.15 redis-server
9112 redis 20 0 1192m 354m 880 S 2.6 0.6 57:50.85 redis-server
8566 nginx 20 0 93340 5084 1784 S 1.0 0.0 0:02.75 nginx
Redis 용 Magento 구성은 다음과 같습니다.
<!-- redis cache -->
<cache>
<backend>Cm_Cache_Backend_Redis</backend>
<backend_options>
<server>127.0.0.1</server>
<port>6379</port>
<database>0</database>
<password></password>
<force_standalone>0</force_standalone>
<connect_retries>1</connect_retries>
<automatic_cleaning_factor>0</automatic_cleaning_factor>
<compress_data>1</compress_data>
<compress_tags>1</compress_tags>
<compress_threshold>20480</compress_threshold>
<compression_lib>gzip</compression_lib>
<persistent></persistent>
<read_timeout>10</read_timeout>
</backend_options>
</cache>
<!-- redis full page cache -->
<full_page_cache>
<backend>Cm_Cache_Backend_Redis</backend>
<backend_options>
<server>127.0.0.1</server>
<port>6380</port>
<database>1</database>
<password></password>
<force_standalone>0</force_standalone>
<connect_retries>1</connect_retries>
<automatic_cleaning_factor>0</automatic_cleaning_factor>
<compress_data>0</compress_data>
<lifetimelimit>57600</lifetimelimit>
<persistent></persistent>
<read_timeout>10</read_timeout>
</backend_options>
</full_page_cache>
Redis 느린 로그를 검토 한 결과 시간이 많이 걸리는 (아마도) 방대한 양의 저장이 발견되었습니다. 전체 페이지 캐시 인스턴스에만 느린 로그에 항목이 있습니다. 이것들은 정상입니까? 이들은 전체 페이지 캐시 인스턴스입니다. 느린 로그에있는 250 개의 항목에 대한 두 가지 예는 다음과 같습니다.
7) 1) (integer) 356
2) (integer) 1429287105
3) (integer) 40685
4) 1) "DEL"
2) "zc:k:e84_REQEST_91D0FF548C77B6F58148AF6A7F586C58"
3) "zc:k:e84_REQEST_8212780F50033B79092F556EE14C1E6E"
4) "zc:k:e84_REQEST_86DCFE6E580707552F38B507272FD2FA"
5) "zc:k:e84_REQEST_FE69215CAA18AA2D33DE6DE2E31F7491"
6) "zc:k:e84_1ED6001E13E4EEA9AB6E19EEC6742A89_1_3_745"
7) "zc:k:e84_REQEST_45ACA3435B0016847D4B060C6436B366"
8) "zc:k:e84_REQEST_985ED12A38AFD74402B159AF8B1B5741"
9) "zc:k:e84_REQEST_11022B655050F20ED54B4AE51EF12CE6"
10) "zc:k:e84_REQEST_26CA3F7EA8612325E845B3B236E0CCFE"
11) "zc:k:e84_REQEST_646FBF4016B630643F3D06C2162721F6_METADATA"
12) "zc:k:e84_REQEST_29C5D2EC342997382A7DB7DF7DDD2F6D"
13) "zc:k:e84_REQEST_F8A6D1AF029997A51F3D1A4E2F3CB725"
14) "zc:k:e84_REQEST_8DBB0D20DDFC426B089F52432757C47E"
15) "zc:k:e84_REQEST_5EA7B23B0B309045EB6A81EF4B9E6A66_METADATA"
16) "zc:k:e84_REQEST_EA531324268EF209504816504B114FAC"
17) "zc:k:e84_REQEST_7C659A3F9178A62AED9B0499AEED0130"
18) "zc:k:e84_REQEST_6807CA64C0FF1C29B4069BF3B472252B"
19) "zc:k:e84_8C636CBFA6DB338DD11F600771E54FAC_1_3_43_288"
20) "zc:k:e84_REQEST_E062EAC26446FACE3025FC6AE1E632A9"
21) "zc:k:e84_7D5DE581F27790730C0E000F9D69F2E3_1_3_53_53"
22) "zc:k:e84_REQEST_C4F854BA432A2884E49A1BA245D756A5"
23) "zc:k:e84_REQEST_922C03E387E66DF9EBBCE0186BD67C3C"
24) "zc:k:e84_REQEST_503B90ED3CBE43438A0C740A68B1E576_METADATA"
25) "zc:k:e84_REQEST_7B9B9FAAE5FA78DB6934DC0658BC5D83"
26) "zc:k:e84_REQEST_E8FE8236DDA57C9830B7843623310E86"
27) "zc:k:e84_REQEST_5826188B159CBCD0E7E9BFBE3BB1D599"
28) "zc:k:e84_REQEST_37F7CBE45FEF49E4D7F38ECE4B760996"
29) "zc:k:e84_REQEST_AACD280C3AB5E27760E80A4D1888AD1F"
30) "zc:k:e84_REQEST_47CE15DD5D5391B1413F5ECF150533DB"
31) "zc:k:e84_REQEST_E261C23C996BC8D45111F2A23DDED93A"
32) "... (1633 more arguments)"
10) 1) (integer) 353
2) (integer) 1429285945
3) (integer) 37193
4) 1) "DEL"
2) "zc:k:e84_REQEST_92BAB7E07D28861B459120B0CDCF0AD7"
3) "zc:k:e84_REQEST_32FC6F43EABA88A2E665630C189A751C"
4) "zc:k:e84_REQEST_55E596F3198540E5E249CB2A4C2690D1"
5) "zc:k:e84_REQEST_B5F8BD16ED9D77245DC1FE0201FE1B1B"
6) "zc:k:e84_REQEST_CBBFFAEAABE47237EF465B6D00BE39F7"
7) "zc:k:e84_REQEST_D5BD191B4E0389F1C60271CCD33163BE"
8) "zc:k:e84_1ED6001E13E4EEA9AB6E19EEC6742A89_1_3_745"
9) "zc:k:e84_REQEST_E498601DC7D6D799B358A8B5A86FC783"
10) "zc:k:e84_REQEST_6A6D07696354D06F1414F3F7A5A3967A"
11) "zc:k:e84_REQEST_EB6E820EA5D8598C008BA4A94C2AC904"
12) "zc:k:e84_REQEST_EEACD0C782C80044325B4E04D32E0F34"
13) "zc:k:e84_REQEST_8CD8334B055C58AD92208DB9BE0F9D1D_METADATA"
14) "zc:k:e84_REQEST_70EFDB6D70BE88D367B0C48629E561FE"
15) "zc:k:e84_REQEST_B9FF6FA7A3CFE8B1F1521A73DF71D308"
16) "zc:k:e84_REQEST_14310D5749525D4828E6B6D2F090A366"
17) "zc:k:e84_REQEST_0CE5E095669A57D17FD780A3BA72A84F_METADATA"
18) "zc:k:e84_REQEST_28B2C39A828640D0B1A49E77A56F6A09"
19) "zc:k:e84_REQEST_17EF76BC89E5EE5DDDB0D752514BBCC4"
20) "zc:k:e84_REQEST_76B91839CA4F29C45E4628C67A8FEFDE"
21) "zc:k:e84_REQEST_F4D7B7D455BF29C8A281D6CC387A86D9"
22) "zc:k:e84_7878AC51A7ECCF1F57E2E74B6FF3CD20_1_3_10_750"
23) "zc:k:e84_REQEST_90B19F2BBC6EA90C7AC1F91242C316A8"
24) "zc:k:e84_8C636CBFA6DB338DD11F600771E54FAC_1_3_43_288"
25) "zc:k:e84_REQEST_0C95AC5E87D3F74F62A1FBE5B822A9B2"
26) "zc:k:e84_7D5DE581F27790730C0E000F9D69F2E3_1_3_53_53"
27) "zc:k:e84_REQEST_3B852462504D3226F5F73D387C0C250F"
28) "zc:k:e84_REQEST_5A5403A3603FD208332F9CBD631C8B4B_METADATA"
29) "zc:k:e84_REQEST_B8152798A9D1F3C4C45C876FC9F2942A"
30) "zc:k:e84_REQEST_2E12C5B2DD8B55BB5D4343DF9241EA29"
31) "zc:k:e84_REQEST_B241A180FBB7E511A74C2129667C2BAD"
32) "... (3272 more arguments)"
1
github.com/colinmollenhour/Cm_Cache_Backend_Redis/issues/18
—
David Manners
우선 redis와 phpredis를 업그레이드 한 다음 압축 lib를 lzf 또는 snappy로 변경 한 다음 PHP-FPM이 잘못된 코드로 인해 많은 CPU를 소비하고 있거나 어딘가에서 실행 중이거나 프로파일 러 또는 데이터베이스 모니터링을 실행하는 사악한 루프가 있습니다. 참고로-PEER1에는 전문가가 없습니다. 불행히도 고객이 엄청난 양의 메모리가 문제를 해결하는 데 도움이되기를 바라는 엄청난 고가의 서버를 구매하도록 강요 할 수있는 모든 것이 있습니다.
당신을 볼 수
—
DarkMukke
/etc/php-fpm.d/www.conf
있습니까?
그렇기 때문에 프로덕션 환경에서 실행하는 동안 대개 서버가 두 대 이상 있습니다. 일반적으로 CPU가 많은 웹 1 개, RAM이 많은 DB 1 개, CPU가 많은 1 개의 캐시 (redis, varnish ...) 및 많은 RAM이 있습니다.
—
Toan Nguyen
<connect_retries> 1 </ connect_retries>을 3과 같이 더 높은 숫자로 올리려고 했습니까?
—
Anna Völkl