Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Naming write performace #148

Closed
nanamikon opened this issue Oct 24, 2018 · 0 comments
Closed

Naming write performace #148

nanamikon opened this issue Oct 24, 2018 · 0 comments
Assignees
Labels
kind/performance Performance improvement is needed
Milestone

Comments

@nanamikon
Copy link
Contributor

Hi, I want to share some information of pressure measurement

  • nacos version 0.3
  • 3 peers (cpu 16, mem 64G, ssd 2T)
  • screen
    Changing the ip list of one service repeatedly
    CountDownLatch countDownLatch = new CountDownLatch(count);
    for (int i=0; i<count; i++) {
        executor.execute(() -> {
            try {
                long startTime = System.currentTimeMillis();
                String serviceName = "test.mysql";
                Service service = new Service(serviceName);
                service.setHealthCheckMode("none");
                Instance instance = new Instance();
                instance.setIp("127.0.0.1");
                instance.setPort(8080);
                namingService.registerInstance(serviceName, "127.0.0.1", 8080);
                System.out.println("cost time: " + (System.currentTimeMillis() - startTime));
            } catch (NacosException e) {
                System.out.println("error! " + e.getErrMsg());
            } finally {
                countDownLatch.countDown();
            }
        });
    }
  • summary
    tps 300+ , increase concurrency has no effect, I think it is not not suitable for large cluster

  • key problem
    1、Two file (meta.properties, com.alibaba.nacos.naming.domains.meta.test.mysql) had to be wrote sync one by one. This step could cost 3ms ~ 4ms at lease.
    image

2、One global lock, leader had to handle the request one by one
image

@nkorange nkorange added the kind/performance Performance improvement is needed label Oct 29, 2018
@nkorange nkorange added this to the 0.5.0 milestone Nov 14, 2018
This was referenced Nov 16, 2018
realJackSun pushed a commit to realJackSun/nacos that referenced this issue Mar 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/performance Performance improvement is needed
Projects
None yet
Development

No branches or pull requests

2 participants