Free 1-Year Domain Offer with WordPress GO Service

What is Apache Benchmark and How to Test Your Website's Performance?

What is apache benchmark and how to do a performance test of your website 9939 This blog post takes a detailed look at Apache Benchmark (ab), a powerful tool that you can use to measure and improve the performance of your website. Starting with the question of what is Apache Benchmark?, it explains why you need performance testing, the necessary tools, and how to do the test step by step. It also touches on common mistakes, how it compares to other performance testing tools, performance improvement tips, and result reporting. The post presents mistakes and suggestions made in using Apache Benchmark, and offers actionable steps to increase the speed and stability of your website.

This blog post takes a detailed look at Apache Benchmark (ab), a powerful tool that you can use to measure and improve your website’s performance. Starting with the question of what is Apache Benchmark, it explains why you need performance testing, the tools you need, and how to do it step by step. It also touches on common mistakes, how it compares to other performance testing tools, performance improvement tips, and results reporting. The post provides practical steps to improve your website’s speed and stability by presenting mistakes and suggestions for using Apache Benchmark.

What is Apache Benchmark? Basic Concepts and Purposes

Apache Benchmark (AB) is a command-line tool developed by the Apache HTTP server project to measure and test the performance of web servers. Its main purpose is to evaluate the responsiveness and stability of a web server by sending a certain number of simultaneous requests to it. AB is a critical tool, especially for web developers and system administrators, to determine the capacity of their servers and potential bottlenecks.

Apache Benchmark, offers the ability to simulate different load scenarios by adjusting the number of requests to the web server, the number of concurrent users and the test duration. This makes it possible to observe the server’s performance under various traffic intensities. The data obtained provides valuable information to understand where the server is struggling and what resources it needs. For example, a website that slows down under high traffic may be experiencing problems with database queries or insufficient server resources. Tests with AB play an important role in identifying the source of such problems.

Metric Explanation Importance
Number of Requests The total number of requests sent. Determines the scope of the test.
Synchronicity The number of requests sent simultaneously. Simulates server load.
Average Response Time Average response time to requests (milliseconds). A key indicator of server performance.
Requests Per Second The number of requests the server can process per second. Measures the efficiency of the server.

Key Features of Apache Benchmark

  • Simple Usage: It can be used easily thanks to the command line interface.
  • Multi-Parameter Support: Parameters such as number of requests, concurrency, and test duration can be adjusted.
  • Detailed Reporting: Reports metrics like average response time, requests per second, etc.
  • HTTP Methods Support: It supports different HTTP methods such as GET, POST.
  • Cookie and Header Support: Special cookies and headers may be sent.

Apache Benchmark, not only evaluates the performance of the web server, but also measures the performance of the web application. Information such as how long database queries take, how much resource the application consumes can be accessed. In this way, it is possible to make performance-oriented improvements in the development process. Performance tests are critical, especially before high-traffic launches or after major updates. Thanks to these tests, potential problems can be detected and resolved in advance, so that the user experience is not negatively affected.

Why Do You Need Web Performance Testing?

The performance of your website or app is critical to user experience and business success. Apache Benchmark Performance tests performed with tools such as allow you to detect potential problems early and develop solutions. Investing in web performance tests is essential to increase the time users spend on your site, increase conversion rates, and ensure overall satisfaction.

Performance testing of your website or application high traffic It helps you understand how your server is performing under different conditions. These tests help you see if your server capacity is sufficient, how fast your database queries are running, and whether your overall system resources are being used effectively. Bottlenecks identified at an early stage can be resolved before they lead to larger problems.

Benefits of Web Performance Testing

  1. Improving User Experience: A website that loads quickly and works smoothly increases user satisfaction.
  2. Increasing Search Engine Rankings: Search engines like Google consider website speed as a ranking factor.
  3. Increasing Conversion Rates: Delays in page load time can cause users to leave your site and lead to decreased sales.
  4. Optimizing Infrastructure Costs: Thanks to performance tests, you can reduce costs by detecting unnecessary resource consumption.
  5. Ensuring Reliability: By preventing your site from crashing during heavy traffic periods, you can protect your brand's reputation.

Web performance testing is not just a technical necessity, it’s also a strategic investment. It’s important to run regular performance tests to ensure your business’s online success and stay ahead of the competition. Apache Benchmark Using it, you can continuously monitor and improve your website's performance.

Web Performance Testing Metrics

Metric Name Explanation Importance Level
Response Time The time it takes for the server to respond to the request. High
Latency The time it takes for the request to reach the server. Middle
Trading Volume (Throughput) The number of requests the server can handle in a given period of time. High
Error rate The ratio of failed requests to total requests. High

Web performance testing is an indispensable tool for maintaining and improving the health of your website or application. Apache Benchmark By regularly testing with tools like and , you can provide the best experience to your users and achieve your business goals.

Essential Tools for Performance Testing with Apache Benchmark

Apache Benchmark (ab) is a powerful command-line tool for measuring the performance of web servers. This tool allows you to analyze how the server performs under a given load by simulating HTTP requests. Before you start performance testing, you will need ab on your system as well as some additional tools to better evaluate the results.

During the performance testing process, it is also important to monitor the usage of server resources and identify possible bottlenecks, rather than just relying on the outputs provided by the ab. For this purpose, you will need tools that can monitor system resources (CPU, memory, disk I/O, network traffic, etc.). These tools will help you understand how the server reacts during the test and identify factors that affect performance.

Required Tools

  • Apache Benchmark (ab): It is a basic performance testing tool.
  • htop or top: Used to monitor server resource usage in real time.
  • tcpdump or Wireshark: It is used to analyze network traffic and detect potential network problems.
  • Grafana and Prometheus: Ideal for visualizing metrics and tracking long-term performance.
  • Gnuplot: It can be used to visualize data and create charts.
  • awk, sed, grep: Text processing tools are useful for analyzing and summarizing ab output.

In the table below, Apache Benchmark Here are some important tools you can use to perform your tests and their basic functions. These tools will help you make your testing process more efficient and evaluate your results more comprehensively.

Vehicle Name Explanation Basic Functions
Apache Benchmark (ab) Web server performance testing tool Simulate HTTP requests, measure response times, simulate concurrent user load
htop System resource monitoring tool Real-time monitoring of CPU, memory, disk I/O and processes
tcpdump Network traffic analyzer Capture and analyze network packets, detect network problems
Wireshark Advanced network protocol analyzer Deep analysis of network traffic, examining protocols

Additionally, you may need a text editor (for example, Notepad++, Sublime Text, or Vim) to save and analyze test results. These tools are very useful for organizing your test cases and scripts, saving and comparing results. With these tools, you can store and analyze the data you obtain in a more organized way. Using the right tools, you can better understand your website's performance and make improvements.

How to Perform Performance Testing Using Apache Benchmark?

Apache Benchmark (AB) is a powerful command-line tool for measuring the performance of your web server. It helps you understand how your website performs under a certain load. With these tests, you can identify the weak points of your website and make improvements to make it faster and more stable. AB is especially ideal for developers and system administrators who want to get results quickly and easily.

Before you start performing performance testing, make sure your test environment is configured correctly. It’s important that your test server has as many of the same specifications as your live environment as possible. This helps ensure that test results reflect real-world scenarios. Additionally, monitoring your server’s resource usage (CPU, RAM, disk I/O) during testing will help you identify potential bottlenecks.

Metric Explanation Importance
Requests per second (RPS) The number of requests processed per second. A higher RPS indicates that the server can handle more load.
Time per request The time it takes for each request to be completed. Lower times mean faster response times.
Failed requests The number of failed requests. Zero or very few failed requests is ideal.
Transfer rate Data transfer rate (kilobytes per second). Higher transfer speed means better performance.

Step by Step Testing Process

  1. Establish the EU: Make sure you have Apache Benchmark installed on your system. It usually comes bundled with Apache HTTP Server.
  2. Determine Test Scenario: Plan which URL you will test and how much load you will apply.
  3. Run the Command: Run the AB command with appropriate parameters (number of requests, number of concurrent users, etc.).
  4. Watch the Results: Monitor server resources (CPU, RAM) during testing.
  5. Analyze Results: Evaluate performance metrics by reviewing the report produced by the EU.
  6. Make Improvements: Identify weak points, make improvements, and repeat the test.

Using the AB command with the correct parameters, is critical to the accuracy of your test results. For example, the `-n` parameter specifies the total number of requests, and the `-c` parameter specifies the number of concurrent users. You can adjust these parameters according to your website's expected or current traffic load to get more realistic results. Incorrect parameters can lead to misleading results and incorrect optimization decisions.

Installation Phase

Before you start using Apache Benchmark, you need to make sure that it is installed on your system. In most Linux distributions, it comes as part of Apache HTTP Server. If it is not installed, you can easily install it with the following commands:

For Debian/Ubuntu: sudo apt-get install apache2-utils

For CentOS/RHEL: sudo yum install httpd-tools

Analysis of Test Results

After you have completed the AB tests, it is important to interpret your results correctly. The Requests per second (RPS) value indicates how many requests your server can handle per second, and a high value is desirable. The Time per request value indicates how long it takes for each request to be completed, and a low value means faster response times. Also, carefully review the Failed requests section to see if there are any errors. A high number of failed requests may indicate a problem with your server.

Common Errors When Using Apache Benchmark

Apache Benchmark (ab) tool is a powerful tool for measuring the performance of web servers, but it can give misleading results when used incorrectly. Therefore, being aware of and avoiding common mistakes when using ab is critical to obtaining accurate and reliable performance data. In this section, Apache Benchmark You will find common mistakes in its use and information on how to avoid them.

One of the most common mistakes is not designing the test case to reflect the actual usage of the web application. For example, intensive testing of static content can lead you to ignore the performance of dynamic content and database queries. This makes it difficult to identify bottlenecks that you may encounter in real-world scenarios. Therefore, it is important to vary your test cases according to user behavior and application architecture.

Error Type Explanation Prevention Method
Insufficient Warm-Up Time Starting tests before the server reaches full capacity. Warm up the server sufficiently before starting the tests.
Incorrect Concurrency Settings Overloading the server with very high concurrency values. Gradually increase concurrency values and monitor server resources.
Ignoring Network Delays Not taking into account the impact of network delays on test results. Repeat the tests under different network conditions and compare the results.
Ignoring the Effect of Caching Not taking into account the positive impact of caching on performance. Run tests by disabling and enabling caching mechanisms.

Another common mistake is not monitoring server resources (CPU, memory, disk I/O) sufficiently during testing. This prevents you from understanding where performance bottlenecks occur. For example, if CPU usage is reaching 0, you may need to optimize your application’s CPU-intensive processes. Similarly, memory leaks or disk I/O issues can negatively impact your performance. Therefore, it is important to continuously monitor and analyze server resources during testing. The following list summarizes some of the mistakes you should avoid:

  • Insufficient Warm-Up Time: Starting tests before the server reaches full capacity.
  • Incorrect Concurrency Settings: Overloading the server with very high concurrency values.
  • Ignoring Network Delays: Not taking into account the impact of network delays on test results.
  • Ignoring the Effect of Caching: Not taking into account the positive impact of caching on performance.

Apache Benchmark It is important to be careful when interpreting the results and not rely on a single test result. Running multiple tests with different test scenarios and parameters provides a more comprehensive performance evaluation. Also, evaluating the test results together with other performance monitoring tools and metrics will help you make a more accurate analysis. Remember, Apache Benchmark It is just a tool and must be used correctly to achieve accurate results.

Apache Benchmark vs. Other Performance Testing Tools

There are many different tools you can use to measure your website's performance. Apache Benchmark (ab), stands out for being simple and command-line based, while other tools offer more comprehensive features and graphical interfaces. In this section, we will compare Apache Benchmark with other popular performance testing tools and evaluate which tool is more suitable in which situations.

Vehicle Name Key Features Advantages Disadvantages
Apache Benchmark (ab) Command line, simple HTTP requests, simultaneous user simulation Fast, lightweight, easy to use, low server load Limited features, not suitable for complex scenarios, no graphical interface
JMeter Wide protocol support, GUI interface, detailed reporting Wide range of test scenarios, extensibility with plugins, scalability More complex setup and learning curve, high resource consumption
Gatling Scala-based, test cases as code, high performance High concurrency support, CI/CD integration, readable test cases Requires technical knowledge, Scala knowledge is a must
LoadView Cloud-based, real browser testing, geographic distribution Real user experience simulation, easy scalability, detailed analysis Paid, more costly than other tools

Apache Benchmark It's especially good for quick and simple tests. For example, when you want to see how long it takes for a web page to load under a certain number of concurrent users. Ab command. However, when you want to test more complex scenarios or get detailed reports, tools like JMeter or Gatling will be more suitable.

JMeter and Gatling offer more advanced features, allowing you to analyze your website’s behavior under different loads in more detail. These tools are more capable of handling database connections, API testing, and simulating user behavior. However, you will need more technical knowledge and time to use these tools.

LoadView, a cloud-based solution, offers testing using real browsers. This way, you can more accurately simulate your users’ experience and measure the performance of your geographically distributed servers. You can see the highlights of the tools in the list below:

  • Apache Benchmark: Ideal for simple HTTP load testing.
  • JMeter: Suitable for complex test scenarios with wide protocol support and GUI interface.
  • Gatling: Designed for high-performance and code-based testing.
  • LoadView: It offers real browser testing and geo-location capability.

Which performance testing tool to use depends on your needs and technical knowledge. For quick and simple tests Apache Benchmark may be sufficient, but for more detailed analysis, tools such as JMeter or Gatling would be more appropriate. To simulate the real user experience, cloud-based solutions such as LoadView can be preferred.

Tips to Improve Your Website Performance

Improving your website's performance is critical to improving user experience and improving search engine rankings. In this section, Apache Benchmark We will focus on practical tips on how to optimize the speed and efficiency of your website using the data from your tests. We will cover the key areas and strategies you need to consider during the optimization process.

Performance improvement is not just a technical process, but also a user-centered approach. You need to make continuous improvements to increase the time your users spend on your website, increase conversion rates, and ensure overall satisfaction. Apache Benchmark The data you obtain through tools such as these provide important information that will guide you in this improvement process.

Performance Improvement Tips

  • Optimize images: Large images significantly slow down page load times. You can solve this problem by compressing your images and using appropriate formats (WebP, JPEG, PNG).
  • Enable browser caching: Browser caching makes your website load faster when users revisit it.
  • Use a content delivery network (CDN): A CDN stores your website's content on servers in different geographic locations, allowing users to access content faster.
  • Minify your code: You can reduce file sizes and increase page load speeds by minimizing your HTML, CSS, and JavaScript files.
  • Optimize server response time: Server response time directly affects your website speed. Choosing a faster hosting provider or optimizing your server configuration can reduce this time.
  • Optimize database queries: Slow database queries can negatively impact your website’s performance. You can fix this problem by optimizing your queries and avoiding unnecessary queries.

In the table below, you can see the potential effects and implementation difficulties of different optimization techniques to improve your website performance. This table will help you prioritize your strategies.

Optimization Technique Potential Impact Difficulty of Implementation Tools/Methods
Image Optimization High Middle TinyPNG, ImageOptim, WebP format
Browser Caching High Easy .htaccess, Cache-Control headers
CDN Usage High Middle Cloudflare, Akamai, MaxCDN
Code Minification (Minify) Middle Easy UglifyJS, CSSNano, Online Minifier tools
Server Response Time Optimization High Difficult Hosting provider change, Server configuration
Database Query Optimization Middle Difficult Database indexing, Query analysis tools

Remember, performance optimization is a continuous process. As your website grows in size and complexity, new optimization techniques and tools will emerge. Apache Benchmark By regularly running performance tests with tools like and , you can ensure that your website always performs at its best.

Reporting Performance Test Results

Apache Benchmark Accurate and understandable reporting of data after testing is complete is a critical step in evaluating and improving your website’s performance. Reporting involves summarizing and analyzing test results and presenting the findings to stakeholders. This process helps you identify performance bottlenecks, plan capacity, and guide future development efforts.

Key metrics to consider when reporting include: time per request, requests per second, average latency, maximum latency, and error rates. These metrics provide important information about your server’s responsiveness, ability to handle concurrent user loads, and overall stability. A detailed report should include graphs and tables that show how these metrics have changed over time.

Metric Explanation Importance Level
Time per request The average time (in milliseconds) it takes for each request to be processed by the server. High – Lower values indicate better performance.
Number of Requests Processed Per Second The average number of requests the server can handle per second. High – Higher values indicate better performance.
Average Latency The average time it takes for requests to reach the server and for a response to be returned. High – Lower values indicate better performance.
Error Rates The ratio of failed requests to the total number of requests (%). High – Lower values indicate better performance.

A good performance report should not only present numerical data, but also explain what this data means and what steps need to be taken to improve it. For example, if you detect high latency, you should investigate the cause (slow database queries, network issues, insufficient server resources, etc.) and suggest solutions. In your report, you should include the characteristics of the test environment (server configuration, network connectivity, test cases) and the Apache Benchmark Specifying the commands will also increase the repeatability and accuracy of the report.

Reporting Process

  1. Determination of test scenarios and targets.
  2. Apache Benchmark to perform performance tests with.
  3. Collecting and organizing the obtained data (metrics, logs).
  4. Analyzing data and identifying performance bottlenecks.
  5. Summarizing and visualizing the findings (graphs, tables).
  6. Submission of suggestions for improvement.
  7. Presenting the report to stakeholders and receiving feedback.

You should constantly monitor and improve your website’s performance by updating your report regularly. Performance testing should be part of a dynamic optimization cycle, not a static process.

Common Mistakes and Suggestions

Apache Benchmark Mistakes made while using it can lead to misinterpretation of test results and thus incorrect assessment of website performance. Therefore, it is very important to be careful during the testing process and avoid common mistakes. Improperly structured tests can produce results that do not reflect real-world scenarios, which can lead to unnecessary optimization efforts or incorrect security measures.

In the table below, Apache Benchmark Common errors encountered in its use and the possible consequences of these errors are summarized. By considering this information, you can perform your tests more consciously and obtain more reliable results.

Mistake Explanation Possible Results
Insufficient Warm-Up Time Not allowing the server to warm up sufficiently before starting the test. Initial requests are slower to respond and results do not reflect actual performance.
Too Many Requests at Once Sending more simultaneous requests than the server can handle. Overloading the server can cause erroneous results and system instability.
Ignore Caching Ignoring the impact of caching on test results. Misleading results that differ from the actual user experience.
Ignore Network Latency Not accounting for the impact of network latency on test results. The test environment does not reflect real-world conditions.

Another important point to consider in order to obtain accurate results is that the test scenarios reflect real user behavior. For example, in tests conducted for an e-commerce site, it is important to simulate typical user actions such as product search, adding to cart, payment. In this way, a more accurate idea can be obtained about the performance of different sections of the website.

Mistakes and Solutions

  • Wrong: Sending an insufficient number of requests. Solution: Send enough requests to get a meaningful average value.
  • Wrong: Testing only a single URL. Solution: Test different pages and functions of your website.
  • Wrong: Performing tests on a local network. Solution: Test under network conditions where real users will access it.
  • Wrong: Not monitoring server resources. Solution: Monitor CPU, memory and disk usage during testing.
  • Wrong: Misinterpreting test results. Solution: Consider statistical significance and context.
  • Wrong: Not taking into account the caching effect. Solution: Measure the caching impact by disabling the cache or testing different scenarios.

Apache Benchmark It is important to interpret the results correctly and use them to improve the performance of the website. By identifying the bottlenecks seen in the test results, optimization efforts can be focused. For example, slow-responding database queries can be optimized, large images can be compressed, or caching strategies can be developed. Remember, performance testing is only a starting point and requires a continuous improvement process.

Conclusion and Actionable Steps

This article will cover a powerful tool to evaluate and improve your website’s performance. Apache BenchmarkWe examined in depth. Apache BenchmarkWe have learned step by step what is , why it is important, how to use it and how to interpret its results. Now you have the knowledge and tools you need to test and improve your website's performance.

My name Explanation Recommended Action
1. Performance Test Apache Benchmark Measure your website's performance in different scenarios with . Run various tests like high traffic, different page loads, etc.
2. Results Analysis Apache BenchmarkAnalyze the data you obtain from . Evaluate metrics such as response times, number of requests, etc.
3. Improvement Identify performance bottlenecks and develop improvement strategies. Implement techniques such as caching, code optimization, etc.
4. Retest After improvements, perform performance testing again. Measure the impact of improvements and make additional adjustments if necessary.

Apache Benchmark We have also covered the errors encountered while using it and how to solve these errors. Remember that continuous and regular performance tests ensure that your website always performs at its best. In this way, you can improve the user experience and increase your SEO ranking.

Advice for the Future

  1. Test and monitor your website performance regularly.
  2. Apache BenchmarkPerform a comprehensive performance analysis using different scenarios.
  3. Carefully analyze the data you obtain and identify areas for improvement.
  4. Apply optimization techniques to resolve performance issues.
  5. Run repeat tests to measure the impact of improvements.
  6. Update your website infrastructure and resources regularly.

Report performance test results regularly and share them with relevant teams. This will help in the continuous improvement and development of your website. Apache Benchmark With the information you obtain, you can maximize the performance of your website and get ahead of the competition.

Improving your web performance is just the beginning. Keeping this information up to date and applying it consistently is key to running a successful website in the long run. Apache Benchmarkis a powerful tool to guide you on this path.

Frequently Asked Questions

What exactly does Apache Benchmark (ab) do and what key metrics does it help us measure?

Apache Benchmark (ab) is a command-line tool used to measure the performance of your web server and understand how it behaves under simulated load. It basically measures the server’s response time, requests per second (RPS), errors, and throughput by sending simultaneous requests to a specific URL. These metrics are critical for assessing your website’s ability to handle traffic.

Why is it important to test my website's performance regularly? How often should I test to avoid unexpectedly heavy loads?

Website performance is vital to user experience and search engine rankings. Regular performance testing can help you identify potential bottlenecks and weak spots early on. Testing, especially before a major campaign, announcement, or high-traffic period, can help you avoid potential problems. Ideally, it’s recommended that you run performance tests after making any significant changes to your website, or at least monthly.

What software or tools do I need to get started with Apache Benchmark? Is the installation process complicated?

Apache Benchmark usually comes as part of Apache HTTP Server. If you have Apache installed, it is probably ready to use. If not, you will need to install Apache HTTP Server or the Apache development tools for your operating system. The installation process is generally straightforward and may vary depending on your operating system.

What parameters should I use when performing performance testing with Apache Benchmark and what do these parameters mean? What is the importance of the `-n` and `-c` parameters in particular?

The most commonly used parameters when using Apache Benchmark are `-n` (total number of requests) and `-c` (number of concurrent requests). The `-n` parameter specifies the total number of requests to be sent to the server. The `-c` parameter specifies the number of requests to be sent simultaneously, i.e. the number of concurrent users. Setting these parameters correctly will allow you to simulate a realistic load test. For example, the command `-n 1000 -c 10` will send a total of 1000 requests to the server with 10 concurrent users.

What are the common errors when using Apache Benchmark and how can I fix them?

One of the most common errors when using Apache Benchmark is that the server is overloaded and unresponsive. This can be caused by sending too many simultaneous requests. In this case, try reducing the number of simultaneous requests (parameter `-c`). Another error is connection problems or DNS resolution problems. Make sure you entered the correct URL and that your network connection is stable.

Apart from Apache Benchmark, what other tools are there that I can use to test my website's performance and what are their advantages and disadvantages over Apache Benchmark?

While Apache Benchmark is great for quick and simple testing, more advanced tools like Gatling, JMeter, or LoadView are also available for more in-depth analysis. Gatling and JMeter offer the ability to simulate more complex scenarios, support a variety of protocols, and generate detailed reports. LoadView is a cloud-based load testing tool that lets you simulate real-world conditions by creating virtual users from different geographies. However, these tools are more complex to use than AB and may require more configuration.

What should I pay attention to when interpreting my website's performance test results and how can I improve my website based on these results?

Key metrics to look at when interpreting performance test results include: average response time, requests per second (RPS), error rate, and throughput. A high error rate or long response times indicate that your server is underperforming. In this case, you may want to consider increasing server resources (CPU, RAM), optimizing database queries, implementing caching strategies, or using a CDN. Additionally, reducing image sizes and eliminating unnecessary JavaScript code can also improve performance.

What are the most common mistakes made during performance testing and what should I pay attention to to avoid them?

Some of the most common mistakes made during performance testing include: creating unrealistic load scenarios, not accounting for the effects of caching, ignoring network latencies, and not properly monitoring server resources. To create a realistic scenario, analyze your website’s typical user behavior and traffic patterns. To measure the impact of caching, run tests both with and without caching. Run your tests under different network conditions and keep a close eye on your server resources (CPU, RAM, disk I/O) during the tests.

Leave a Reply

Access Customer Panel, If You Don't Have a Membership

© 2020 Hostragons® is a UK-based hosting provider with registration number 14320956.