1. out 11214//$memcached->addServer('192.168.75.132', '11214'); php 코드에서 php 코드를 다시 실행하세요
키 분포 보기
두 키의 분포를 비교하세요.
key_2 key_10에 대한 적중은 변경되지 않았으며 항상 11211이며, 서버 감소로 인해 다른 10개의 키가 변경되었습니다
3. 일관된 해시 알고리즘php 코드/usr/local/memcached/bin/memcached -d -p 11211 -u memcached -vv >> /var/log/memcached.11211.log 2>&1 /usr/local/memcached/bin/memcached -d -p 11212 -u memcached -vv >> /var/log/memcached.11212.log 2>&1 /usr/local/memcached/bin/memcached -d -p 11213 -u memcached -vv >> /var/log/memcached.11213.log 2>&1 /usr/local/memcached/bin/memcached -d -p 11214 -u memcached -vv >> /var/log/memcached.11214.log 2>&1
php 코드를 다시 실행하세요
키 배포 보기
보조 키의 두 분포 비교:
11211 원래 키 적중이 변경되지 않았습니다. key_4가 추가되었습니다.
11212 원래 키 적중이 변경되지 않았습니다
11213 원래 키 적중이 변경되지 않았습니다. key_12가 추가되었습니다
서버 적중 감소로 인해 키 2개가 변경되었습니다
4. 비교
모듈로 해시 알고리즘으로 서버 1개가 줄어들고 키 적중 10개가 변경되었습니다.
한 서버에서 2개의 키 적중을 줄이기 위해 일관된 해시 알고리즘이 변경되었습니다.
여기에서는 12개의 키만 테스트했습니다. 시뮬레이션된 데이터 양이 너무 작아 키 분포가 고르지 않습니다. 그러나 서버 감소로 인한 키 적중 변화는 시뮬레이션된 데이터의 크기와 관련이 없습니다. 이 테스트는 일관성을 반영합니다. 해시 알고리즘의 장점은 서버 감소로 인해 많은 수의 모듈식 해싱 결과가 변경되고 적중 서버도 변경된다는 것입니다. 일관된 해싱 알고리즘 키는 2^32-1 노드의 해시에 고정되어 있으며, 서버가 키를 줄일 때 해시 링의 서버 위치는 변경되지 않습니다. 이는 서버의 키 적중에만 영향을 미칩니다. 서버를 추가하면 해시 링의 다음 위치에 있는 서버 키의 일부에만 영향을 미칩니다.
위 내용은 PHP 모듈러스 해시 및 일관된 해시 작업 Memcached 분산 클러스터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!