Выполнение запроса etcd заняло слишком много времени, хотя последовательные записи выполняются достаточно быстро - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть кластер k8s (миникуб), где я запускаю модуль etcd. Глядя на его журнал, я вижу много: read-only range request xxx" took too long (351.512366ms) to execute и wal: sync duration of 5.930502845s, expected less than 1s. Следуя рекомендациям etcd , я увеличил свой ЦП до 2 и память до 4 Ги. Я также проверил диск последовательная запись и получил следующие результаты:

src/fio-fio-3.18/fio --rw=write --ioengine=sync --fdatasync=1 --directory=testdir --size=22m --bs=2300 --name=mytest 
mytest: (g=0): rw=write, bs=(R) 2300B-2300B, (W) 2300B-2300B, (T) 2300B-2300B, ioengine=sync, iodepth=1
fio-3.18
Starting 1 process
mytest: Laying out IO file (1 file / 22MiB)
Jobs: 1 (f=1): [W(1)][100.0%][w=5344KiB/s][w=2379 IOPS][eta 00m:00s]
mytest: (groupid=0, jobs=1): err= 0: pid=5584: Mon Feb 10 11:08:08 2020
  write: IOPS=2468, BW=5544KiB/s (5677kB/s)(21.0MiB/4063msec); 0 zone resets
    clat (nsec): min=2693, max=85097, avg=5964.38, stdev=3813.13
     lat (nsec): min=3292, max=85724, avg=6583.58, stdev=3856.04
    clat percentiles (nsec):
     |  1.00th=[ 3088],  5.00th=[ 3216], 10.00th=[ 3344], 20.00th=[ 4512],
     | 30.00th=[ 4832], 40.00th=[ 5024], 50.00th=[ 5216], 60.00th=[ 5472],
     | 70.00th=[ 5984], 80.00th=[ 6944], 90.00th=[ 8512], 95.00th=[10432],
     | 99.00th=[19072], 99.50th=[25472], 99.90th=[54528], 99.95th=[64256],
     | 99.99th=[84480]
   bw (  KiB/s): min= 5269, max= 5772, per=100.00%, avg=5576.71, stdev=162.12, samples=7
   iops        : min= 2346, max= 2570, avg=2483.00, stdev=72.18, samples=7
  lat (usec)   : 4=18.52%, 10=75.73%, 20=4.83%, 50=0.73%, 100=0.20%
  fsync/fdatasync/sync_file_range:
    sync (usec): min=120, max=8715, avg=394.30, stdev=262.61
    sync percentiles (usec):
     |  1.00th=[  128],  5.00th=[  139], 10.00th=[  153], 20.00th=[  200],
     | 30.00th=[  212], 40.00th=[  265], 50.00th=[  441], 60.00th=[  490],
     | 70.00th=[  523], 80.00th=[  562], 90.00th=[  603], 95.00th=[  635],
     | 99.00th=[  717], 99.50th=[  766], 99.90th=[ 3458], 99.95th=[ 5538],
     | 99.99th=[ 8160]
  cpu          : usr=1.65%, sys=6.11%, ctx=24465, majf=0, minf=14
  IO depths    : 1=200.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=0,10029,0,0 short=10029,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
  WRITE: bw=5544KiB/s (5677kB/s), 5544KiB/s-5544KiB/s (5677kB/s-5677kB/s), io=21.0MiB (23.1MB), run=4063-4063msec

Disk stats (read/write):
  vda: ios=0/24738, merge=0/10978, ticks=0/3501, in_queue=1239, util=30.36%

, где testdir - пустой каталог (так как мой модуль etcd пишет в emptydir). 99 процентиль 717us << 10мс. Так почему я все еще получаю ошибки тайм-аута? </p>

...