Git clone8/7/2023 ![]() ![]() The table below contains this information for our three test repositories. In particular, we care about the total size on disk along with the count of each object type. The git-sizer tool measures the size of Git repositories along many dimensions. Once a test is complete, we use a combination of Gatling results, ghe-governor and server health metrics to analyze the test. We would like to make a note that protocol version 2 only improves ref advertisement and therefore we don’t expect it to make a difference in our tests. All of our load generators use git version 2.28.0 which by default is using protocol version 1. We ran each test with a specific number of users across 5 different load generators for 30 minutes. We use an internal load testing tool based on Gatling to generate git requests against the test instance. ![]() These repositories were mirrored to a GitHub Enterprise Server running version 2.22 on a 8-core cloud machine. These three repositories vary in size and number of commits, blobs, and trees. We chose to use the jquery/jquery, apple/swift and torvalds/linux repositories. This way, you can compare your repository shape to the tested repositories to see which is most applicable to your scenario. To maximize the repeatability of our experiment, we use open source repositories for our sample data. If you would like help analyzing your worksflows, feel free to engage with GitHub’s Professional Services team.įor a summary of our findings, feel free to jump to our conclusions and recommendations. Perhaps this experiment provides a framework that you could follow to measure how your workflows are affected by these options. Depending on your workflows and repository characteristics these results may change. It is worth special emphasis that these results come from simulations that we performed in our controlled environments and do not simulate complex workflows that might be used by many Git users. ![]() Will the repository shape and size make any difference in the overall performance?.What impact do full, shallow and partial clones have on a Git server? This is mostly important for our GitHub Enterprise Server Admins.Once we have cloned a repository, what kind of impact do future git fetch commands have on the server and client?.How fast are the various git clone commands?.In this experiment, we aimed to answer the below questions: In particular, we wanted to determine how these clone options change the behavior of future Git operations such as git fetch. ![]() It is not enough to just compare git clone times, because that is only the start of your interaction with a Git repository. We ran an experiment to compare these different clone options and measured the client and server behavior. Here at GitHub, we use a data-driven approach to answer these questions. Discussed several different git clone options, but how do those options actually affect your Git performance? Which option is fastest for your client experience? Which option is fastest for your build machines? How can these options impact server performance? If you are a GitHub Enterprise Server administrator it’s important that you understand how the server responds to these options under the load of multiple simultaneous requests. ![]()
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |