|
| 1 | +# CHANGELOG of v2.7 |
| 2 | + |
| 3 | +Previous change logs can be found at [CHANGELOG-2.6](https://github.com/opencurve/curve/blob/master/CHANGELOG-2.6.md) |
| 4 | + |
| 5 | + |
| 6 | +## Features |
| 7 | + |
| 8 | +* [curvefs/client: add quota for S3 client](https://github.com/opencurve/curve/pull/2836), thanks to [@h0hmj][h0hmj]. |
| 9 | +* [curvefs/client: now we support hadoop sdk](https://github.com/opencurve/curve/pull/2807), thanks to [@Wine93][Wine93]. |
| 10 | +* [curvefs/mds: add ability to change capacity in fsinfo](https://github.com/opencurve/curve/pull/2821), thanks to [@h0hmj][h0hmj]. |
| 11 | +* [curvefs/monitor: add memcache](https://github.com/opencurve/curve/pull/2834), thanks to [@Cyber-SiKu][Cyber-SiKu]. |
| 12 | +* [curvefs/monitor: add cluster usage](https://github.com/opencurve/curve/pull/2842), thanks to [@Cyber-SiKu][Cyber-SiKu]. |
| 13 | +* [curvefs/monitor: support plugin](https://github.com/opencurve/curve/pull/2830), thanks to [@Cyber-SiKu][Cyber-SiKu]. |
| 14 | +* [curvefs/docker: support run curvefs on Openeuler 22.03-lts-sp2 platform](https://github.com/opencurve/curve/pull/2789), thanks to [@peter5232][peter5232]. |
| 15 | +* [curvebs/chunkserver: support format chunkfile pool in asynchronous](https://github.com/opencurve/curve/pull/2775), thanks to [@Vigor-jpg][Vigor-jpg]. |
| 16 | + |
| 17 | +## Improve |
| 18 | + |
| 19 | +* [curvefs/client: optimizing the read amplification problem, especially for memcache](https://github.com/opencurve/curve/pull/2792), thanks to [@wuhongsong][wuhongsong]. |
| 20 | +* [curvefs/client: split latency metric into data and attr](https://github.com/opencurve/curve/pull/2824), thanks to [@Cyber-SiKu][Cyber-SiKu]. |
| 21 | +* [curvefs/mds: support modify some configs on fly](https://github.com/opencurve/curve/pull/2813), thanks to [@Cyber-SiKu][Cyber-SiKu]. |
| 22 | +* [curvefs/metaserver: remove some unnecessary error logs](https://github.com/opencurve/curve/pull/2831), thanks to [@SeanHai][SeanHai]. |
| 23 | +* [build: install clang-format-14 in dev docker](https://github.com/opencurve/curve/pull/2828), thanks to [@wu-hanqing][wu-hanqing]. |
| 24 | +* [build: add braft format patch](https://github.com/opencurve/curve/pull/2661), thanks to [@wu-hanqing][wu-hanqing]. |
| 25 | +* [build: support build specified library](https://github.com/opencurve/curve/pull/2829), thanks to [@quas-modo][quas-modo]. |
| 26 | +* [doc: updated maintainers for curve project](https://github.com/opencurve/curve/pull/2695), thanks to [@aspirer][aspirer]. |
| 27 | + |
| 28 | + |
| 29 | +## Bugfix |
| 30 | + |
| 31 | +[Cyber-SiKu]: https://github.com/Cyber-SiKu |
| 32 | +[h0hmj]: https://github.com/h0hmj |
| 33 | +[wu-hanqing]: https://github.com/wu-hanqing |
| 34 | +[Wine93]: https://github.com/Wine93 |
| 35 | +[Vigor-jpg]: https://github.com/Vigor-jpg |
| 36 | +[SeanHai]: https://github.com/SeanHai |
| 37 | +[quas-modo]: https://github.com/quas-modo |
| 38 | +[wuhongsong]: https://github.com/wuhongsong |
| 39 | +[peter5232]: https://github.com/peter5232 |
| 40 | +[aspirer]: https://github.com/aspirer |
| 41 | + |
| 42 | +# Performance |
| 43 | + |
| 44 | +## Hardware |
| 45 | +3 nodes (3*mds, 9*metaserver), each with: |
| 46 | + - Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz |
| 47 | + - 256G RAM |
| 48 | + - disk cache: INTEL SSDSC2BB80 800G (IOPS is about 30000+, bandwidth is about 300 MiB) |
| 49 | + |
| 50 | +## Configure |
| 51 | + |
| 52 | +```yaml |
| 53 | +fs.cto: true |
| 54 | +fs.lookupCache.negativeTimeoutSec: 1 |
| 55 | +fs.lookupCache.minUses: 3 |
| 56 | +fuseClient.supportKVcache: true |
| 57 | +client.loglevel: 0 |
| 58 | +``` |
| 59 | +
|
| 60 | +## fio |
| 61 | +
|
| 62 | +```bash |
| 63 | +[global] |
| 64 | +rw=randread |
| 65 | +direct=1 |
| 66 | +size=50G |
| 67 | +iodepth=128 |
| 68 | +ioengine=libaio |
| 69 | +bsrange=4k-4k |
| 70 | +ramp_time=10 |
| 71 | +runtime=300 |
| 72 | +group_reporting |
| 73 | + |
| 74 | +[disk01] |
| 75 | +filename=/path/to/mountpoint/1.txt |
| 76 | +``` |
| 77 | + |
| 78 | +| fio | IOPS/bandwidth | avg-latency(ms) | clat 99.00th (ms) | clat 99.99th (ms) | |
| 79 | +| :----: | :----: | :----: | :----: | :----: | |
| 80 | +| numjobs=1 / size=50GB / 4k randwrite | 4243 | 0.23 | 0.176 | 2 | |
| 81 | +| numjobs=1 / size=50GB / 4k randwrite | 908 | 1.0 | 3.5 | 104 | |
| 82 | +| numjobs=1 / size=50GB / 512k write | 412 MiB/s | 2.4 | 19 | 566 | |
| 83 | +| numjobs=1 / size=50GB / 512k read | 333 MiB/s | 2.9 | 20 | 115 | |
| 84 | + |
| 85 | +## mdtest |
| 86 | + |
| 87 | +```bash |
| 88 | +for i in 1 4 8; do mpirun --allow-run-as-root -np $i mdtest -z 2 -b 3 -I 10000 -d /path/to/mountpoint; done |
| 89 | +``` |
| 90 | + |
| 91 | +| Case | Dir creation | Dir stat | Dir removal | File creation | File stat | File read | File removal | Tree creation | Tree removal | |
| 92 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | |
| 93 | +| client*1 | 341 | 395991 | 291 | 334 | 383844 | 3694 | 309 | 322 | 851 | |
| 94 | +| client*4 | 385 | 123266 | 288 | 361 | 1515592 | 15056 | 310 | 363 | 16 | |
| 95 | +| client*8 | 415 | 22138 | 314 | 400 | 2811416 | 20976 | 347 | 355 | 8 | |
0 commit comments