Stripe sizes: Optimal RAID Stripe Size and filesystem Readahead for RAID-10?

Optimal RAID Stripe Size and filesystem Readahead for RAID-10?

Home  »  Linux • Performance Tuning • RAID • Systems Administration • Uncategorized   »   Optimal RAID Stripe Size and filesystem Readahead for RAID-10?

What RAID stripe size is ideal for an array of hard drives? What are the default settings for both raid stripe size and filesystem readahead? Are those defaults acceptable? How do these settings impact the performance of my server?

In this post, we’ll go into detail as to what settings are ideal for a server depending upon what type of files it hosts and what type of drives it uses. First we’ll get you the basic answer as to what the best settings are, and then we’ll go into detail as to why that is the case.

In modern operating systems, the default raid stripe size is somewhere between 128KB and 256KB by default. This is also the case for hardware raid cards default stripe size. As well, the file system readahead value defaults to somewhere between 128KB and 256KB in many modern operating systems.

When are the defaults OK?

For servers that primarily host a lot of small files, or host their data using SSDs, these default settings are probably fine for both readahead and raid stripe size. In the case of SSDs, these defaults are ok because SSDs are very good at reading small bits of data located anywhere on the drive, and so, the stripe size and readahead has little or no effect on performance for modern SSDs as well. For hard drives, for typical use cases, these defaults are also ok because many files are smaller than these default settings. This means that most single files you read are stored on a single drive, and therefore, reading the file only accesses a single drive. Increasing the stripe size in this situation does not change the drive access pattern much, and therefore, doesn’t impact performance much.

So, for many situations, you don’t need to be worried about these settings and the defaults will be fine. However, in one use case, where many users are simultaneously accessing files larger than 256KB, and those files are stored on regular hard drives, the raid stripe and filesystem readahead settings are critically important to improve drive performance.

When should the defaults be changed?

This type of access pattern is very common for “tube sites” and file download sites. This is because the massive file sizes lend themselves well to less expensive hard drive storage, and large file accesses when using hard drives, is exactly where you can gain a benefit from changing the default settings. In this use case, the default settings massively under-perform compared to an optimized configuration.

For file hosting sites or other use cases where there are large numbers of users simultaneously accessing large files, and these files are stored on hard drives, a large stripe size will give you a huge performance increase compared to a small stripe size.

What are the optimal settings?

For RAID 10 or RAID 0 on regular hard drives, a stripe size of 2MB, if available, is best. If you can’t select a stripe size as large as 2MB, pick the largest value you’re allowed. For hardware raid cards, the maximum stripe size is often 1MB, so this would be the best option in those situations. The default of 256k is not efficient for reading large files from regular hard drives. For SSDs, any value of 128KB or higher should perform fine.

For RAID 5, RAID 50, RAID 6, or RAID 60, a stripe size between 256k and 512k would be ideal for tube sites and large file download sites hosted on hard drives, while a stripe size between 128KB and 256KB would be better when accesses are typically of small files, or when the data is stored on SSD. Why these “parity” type RAID levels are better off with a smaller stripe size is beyond the scope of this article. Suffice it to say if you care about performance, RAID 10 is far better than RAID 5 / 50 / 6 / 60.

For file system readahead settings, the optimal value is typically 512KB so long as your raid stripe is at least 1MB. This will provide the maximum performance for a server that primarily reads large files from hard drives.

Why does stripe size impact performance?

To understand this, it helps to visualize what is actually happening in a hard drive.

“Hard Drive” by walknboston is licensed under CC BY 2.0

A hard drive has a read-write head attached to an arm, and a spinning disk that contains the actual data. To read a file, the arm has to move to the spot on the disk where the data is located, and the data is read from the disk as it spins past the read-write head.

The main limitation on speed of these hard drives, is how quickly the read-write head can move from one spot on the hard drive to another. Generally, this can occur about 100 times per second — allowing you to read files that are located on 100 different drive locations per second as a maximum.

Therefore, to maximize performance, you want to read as much data as possible each time the read-write head moves to a different part of the disk. Operating systems know this, so, whenever data is requested to be read from disk, the OS goes ahead and reads more data than it was asked to, on the assumption the data might be needed eventually. This feature is called “readahead”. In many operating systems, this readahead value defaults to 256KB.

This readahead is a pretty smart idea for hard drives, but it can cause some performance problems with RAID arrays, specifically, RAID arrays with a small stripe size of less than 1MB. Below is a diagram of the read pattern of an 8-drive raid 10 array, with different stripe sizes, and different amounts of data being read. (Note that we show only the first 4 drives — in a raid 10 array, the other 4 drives are a copy of the first 4)

Example read patterns of a 4 drive raid 0 array / 8 drive raid 10 array, with varying stripe sizes and read sizes

Above you can see which parts of which drives are accessed when performing a read operation of different sizes. Because the start of a file can be anywhere, we indicate the most typical access pattern by assuming the read request begins somewhere in the middle of a stripe.

In the first example, a 256KB read, is very typical because in many operating systems, the default readahead value is 256KB. This means that, even if your application only asks to read 1KB of data from a file, the following 256KB of data from the same file will also be read from disk. If the file is smaller than the 256KB readahead, then the entire file will be read at once. This is why the readahead and stripe values are only important when your typical file size is bigger than the default readahead of 256KB.

Unfortunately, a 256KB stripe is also a common default for raid arrays. So the top-left diagram shows what happens nearly always when using default settings — 256KB of data is read, and, this data is read from 2 different drives from the 4 drive raid 10, 99% of the time. So in this default scenario, 128KB is read from each of two drives, nearly every time. (The read would only occur from a single drive in the rare case where a read quest begins at the exact start of the 256KB raid stripe.)

When changing the stripe size to 1MB, while leaving the readahead to the default of 256KB, you will read the 256KB from just one drive 75% of the time, and it would split the read between two drives 25% of the time. The 25% happens when your 256KB read request begins in the fourth quarter of the stripe. So in most cases, 256KB is read from just one drive, and 25% of the time, 128KB is read from each drive.

Keeping in mind before, each drive can only “seek” to a different part of the disk around 100 times per second. Meanwhile, sequential reads can go about 100MB/s on our example drive (these numbers can be doubled to 200 seeks / sec and 200MB/s on newer drives, but the ratios stay about the same).

So what happens when the default situation causes 128KB reads on each drive, on average, per seek? Well, 128KB read per seek x 100 seeks / second = 12.8MB/s is the maximum performance you’ll get. On a drive that can read 100MB/s, this is only 12% of the maximum speed the drive could perform if it was only doing sequential reads. This is really poor performance, and a big focus on optimizing a RAID array here is to increase this figure.

How does an optimized RAID stripe improve performance?

To improve performance, you want to do your best to increase the amount of data read for each “seek”. This is where the RAID stripe and readahead play a critical role.

First, lets take a look at the 1MB stripe size. In the first example, still with a 256KB read size, 75% of requests will only “hit” one drive, and each request will still read 256KB. 25% of the time, you read 128KB from each drive for each seek. So on average, this means, for each seek, 224KB of data is read from a drive. Assuming 100 seeks / second, this allows for performance of 22.4MB/s per drive, a 75% performance improvement compared to the default settings!

The next way we can increase performance is to increase the readahead on the array. Our second example shows the result of a 512KB readahead value, with either a 256KB or 1MB stripe.

Two different ways a 512KB sized read can occur on a 1MB stripe RAID array

In the image above, you can see what happens for a read request depending upon where within a stripe the read occurs. For the 256KB stripe, in 99% of cases, a 512KB read will “hit” 3 different disks. (If the read is perfectly aligned to the start of a stripe, it will read from 2 drives in order to complete the request, but this is rare.) For a 1MB stripe, a 512KB read will, 50% of the time, only read from one drive, while 50% of the time it will read from 2 drives to complete the request. Which of these occurs depends how far into the stripe the read request begins, as depicted above.

How does this impact performance? The total data read is 512KB, and, for a 256KB stripe, this requires 3 seeks (you read from 3 different drives). So on average, a single seek results in 171KB of data read. As a single drive can do 100 seeks / second, this equals 17.1MB/s per drive. Compared to the 12.8MB/s you saw on a 256KB stripe with 256KB reads, this is a 33% improvement. Pretty good!

How does this 512KB read size perform for a 1MB stripe? Well, 50% of the time there is 1 seek, and 50% of the time there are 2 seeks — an average of 1.5 seeks per read. Reading 512KB, you average 341KB per seek. As a single drive can do 100 seeks / second, this comes out to 34.1MB/s. Compared to the defaults of 256KB readahead and 256KB stripe size, this is a speed increase of 2.6 times as fast! It also gives you 1/3 of the maximum theoretical performance of the drive, a huge increase from the default case.

What’s the catch?

A big caveat here is that these improvements only occur if the file you are reading is at least as big as the readahead setting. The readahead will only read to the end of the file you are accessing. So, for a web site where 90% of requests are for 10KB image thumbnails, none of this will make a difference. Nearly all requests will be for 10KB images, and, with a default readahead of 256KB these 10KB images will already be loaded in their entirety every time. As well, a 256KB RAID stripe means that, almost always, the entire 10KB file will reside on a single disk, so the disadvantages of a small stripe size do not apply when reading files much smaller than the stripe size.

The situation in our diagram, and the value of these optimizations, are most relevant for file hosting or “tube” sites where the average file size is multiple megabytes, not multiple kilobytes.

Another catch is that there are diminishing returns on the readahead compared to the maximum stripe size. For our final example, let’s look at a 2MB readahead with a 256KB or 1MB stripe size.

The read pattern of a 2MB readahead with either a 256KB or 1MB stripe

What is the performance here? Well, for a 256KB stripe, you read 2MB split across all 4 disks — an average of 512KB per seek. With 100 seeks per second, even the 256KB stripe array can read 51.2MB / s from each disk — much more than with the default 256KB readahead. In our example drive, this is 51% of the maximum performance the drives are capable of, a huge improvement over a 256KB readahead.

The array with a 1MB stripe does even better — in nearly all cases, a 2MB read will require participation from 3 out of 4 drives. 2MB per read with 3 seeks per read 682KB per seek, or 68.2MB/s for a drive that can do 100 seeks / second. This is getting pretty close to the maximum speed our drive can go of 100MB/s.

Can we increase this to huge levels to get even more performance?

Although these values seem even better than before, you can see the rate of improvement is slowing dramatically. For the defaults, a 256KB readahead and 256KB stripe gave you 12.8MB/s. For a 512KB readahead and 1MB stripe, you got to 34.1MB/s. Increasing the readahead a further 4 fold increased theoretical performance to 68.2MB, so this increases are declining fast.

There is also a problem that, we are assuming that reading the data from the drive takes zero time. When the drive is reading data at 10% of the maximum sequential speed, this oversight is a rounding error. But when you’re dealing with reading data at 40 – 60% of the drives maximum theoretical speed, and you assume these sequential reads take zero time, this introduces a huge error into the equation. The drive cannot spend 50% of its time reading data sequentially and then an additional 100% of its time seeking between different files on disk.

The below diagram shows this tradeoff that you make in real world numbers:

Assumes 100MB/s maximum sequential read rate and 100 seeks / second maximum seek rate, typical for a 1TB 7200 RPM SATA Hard drive. Modern 8TB drives may perform up to 2x this.

The KB per seek of 128KB in our default example of 256KB stripe and 256KB readahead is very similar to the 90% time spent seeking example in the above chart. This value gives a hypothetical maximum performance of 10MB/s with 114KB average read per seek — very close to our example figures. However, from our previous example, where a 2MB readahead on n a 256KB stripe would lead to a 512KB read per seek, you can see the performance expected fall be between 30MB/s and 40MB/s levels. This is far short of the 51.2MB/s estimated when we assumed that reading data took zero time. Meanwhile, the 2MB readahead with 1MB stripe would lead to 682KB per seek, which exactly matches the 40MB/s level from the table above. This is also far short of the 68.2MB/s we estimated when assuming that sequential reads take zero time.

For this reason, about 40MB/s, or 40% of the maximum sequential read speed of the drive, is about the realistic maximum you can expect for a multi-client server use case. This is true even if you optimize the raid stripe and readahead perfectly. Beyond this point, additional performance becomes far more difficult to achieve, requiring dramatically increased KB read per seek, which has its own negative performance consequences.

But why not increase the readahead and stripe to absurd levels anyway?

It may seem like you can just keep increasing the readahead and always get better performance, but this is not the case. A major caveat is, you don’t want to arbitrarily read multiple megabytes for your readahead. The biggest reason for this is, the data read has to sit in ram until it’s actually needed. If a client is slowly downloading a file, it may take a long time before they need data that’s several MB ahead of what they’ve already downloaded. This data sits in ram as part of the linux file system cache, which is used to store copies of recently read files. To store this new data in the cache, something else has to be removed first. Likewise, if your server needs this ram for some other reason, such as, a different file has just been read from disk, old data will be flushed out of ram. If your end user hasn’t downloaded that data yet, this flushed data will need to be read from the drive again! This is very wasteful of your very limited seeks / second and limited MB/s, forcing the server to read the same data multiple times in order to send it to a user just once.

As well, although a drive can do sequential reads much faster than it can read multiple files, it still takes longer to read a lot of data than a little bit of data, so you only want to read data you’ll actually use. Now that the drive is performing a large percentage of the sequential data transfer it is capable of, there are diminishing returns, and increasing costs, to simply growing the readahead forever.

One way to address this is to manage the amount of ram used for readaheads to a reasonable level, so that the odds are very good that the data will still be in ram when you actually need it. Let’s say that for a server with a good amount of ram (8gb or larger), you don’t want to devote more than 25% of the ram for this purpose. So let’s calculate that out.

For a server with 1,000 simultaneous users downloading files or watching videos, a 1MB readahead means that 1GB of recently read data needs to be kept in ram at all times. This is necessary to prevent this data from being discarded before it is used. For a server with 8gb ram, 1gb ram use is pretty reasonable. There is a good chance this data will not be flushed before you need it.

However, let’s say your server is very busy — it has 10,000 simultaneous connections. Meanwhile, you also are having performance issues, and you think a huge readahead may help with this, so you set it to 10MB. You are hoping that a 10MB readahead and 40MB RAID stripe size will get you to that magic level of 90MB/s reads in the chart from earlier.

However, with a 10MB readahead setting on a server with 10,000 simultaneous users, readaheads will require 100GB of ram! Unless this server 512GB ram or more, it is certain that most of the data you read from disk will be discarded before a user ever downloads it, making your performance problems dramatically worse. As well this is ram that could otherwise be used for larger TCP buffers, which would speed up users downloads. For servers with a huge number of connections, these various caches and buffers are a delicate balancing act.

Do you love servers?

We hope this article has helped you learn about an often-misunderstood and important setting for tuning disk performance. With SSDs becoming ever more popular, there are fewer cases where there is a need to tweak these settings. However, for certain websites hosting large files on hard drives, it is still important to optimize these values. For a RAID 10 array, a filesystem readahead of 512KB and a RAID stripe size of 2MB is ideal (1MB if 2MB is not available). See some of our other articles if you want to know more about similar topics regarding RAID, performance optimization, or server configuration and administration.

If you love servers like we do, we’d love to work together! IOFLOOD.com offers dedicated servers to people like you, and as part of that service, we optimize the RAID stripe when installing your OS to maximize performance. To get started today, click here to view our dedicated servers, or email us at sales[at]ioflood.com to ask for a custom quote.

Pricing & fees | Stripe Official Site

Tools to build optimized checkout flows
  • Embeddable checkout

    Add a beautiful checkout form with one line of JavaScript.

  • Custom UI toolkit

    Design your own pixel-perfect checkout flows across desktop and mobile.

  • Simplified PCI compliance

    Use Stripe Checkout or Elements to qualify for the simplest method of PCI validation (SAQ A).

  • Invoice support

    Create and send invoices with payments built-in.

Global payments with a single integration
  • 135+ currencies

    Process charges and display prices in your customer’s preferred currency to increase conversion.

  • Local payment methods

    From SEPA to iDEAL, you can support dozens of popular payment methods with a single integration.

  • Global support

    Businesses in 25+ countries can accept payments from customers anywhere in the world.

  • Subsidiary support

    Set up local Stripe accounts to maximize acceptance rates and reduce cross-border and conversion costs.

Comprehensive security and rigorous compliance
  • Secure payment info collection

    Use our libraries to collect payment information without sensitive data ever hitting your servers.

  • Data security and encryption

    Siloed infrastructure for the storage, encryption, decryption and transmission of card data.

  • Regulatory licenses worldwide

    Stripe is certified to the highest industry standards and has obtained regulatory licenses around the world.

  • Secure Dashboard access

    Secure access with granular permissions, two-step authentication, and U2F keys.

immediate-resultsCreated with Sketch.

Fast, predictable payouts to your bank accounts
  • Control payout timing

    Opt to receive transfers on a rolling basis, weekly, or monthly.

  • Unified payouts

    Get unified payouts across all the different payment methods and currencies you accept.

  • Like-for-like settlement

    In select regions, get paid out in your preferred currencies.

  • Transparent payouts

    See upcoming payouts, expected deposit dates, payout history, and more in the Dashboard.

Financial reconciliation and reporting
  • Real-time reporting

    Get real-time information about charges, fees, refunds, and transfers from the Dashboard or via the API.

  • Unified reporting

    View reports across all the different payment methods and currencies you accept.

  • Deposit tagging

    Every deposit is tagged with a transfer report detailing the exact transactions and fees it contains.

  • QuickBooks + NetSuite support

    Automatically sync Stripe data with QuickBooks, NetSuite, or other accounting platforms.

24×7 phone, chat, and email support
  • 24×7 support

    Our team is here to help in 6 languages. Phone and chat support are English only.

  • Technical support on Discord

    Chat with our technical team on the official Stripe Developer Discord server.

  • World-class documentation

    Build using our robust technical docs. Sample code in 8+ languages.

  • Comprehensive knowledge base

    Get fast answers to hundreds of common questions and topics.

section-disputes 2Created with Sketch.

Save time with programmatic dispute handling
  • Automate evidence submission

    Programmatically respond to disputes and upload evidence using the Disputes API.

  • Direct integration to card networks

    Submit evidence to card networks directly through Stripe—no need to manually fax paperwork.

  • Submit better evidence

    Based on the type of dispute and associated network rules, we help you submit evidence that increases your chances of winning.

  • Monitor and measure disputes

    Track dispute activity and win rates to identify dispute sources or spot fraud.

dashboardCreated with Sketch.

Manage business operations with a unified dashboard
  • Take action from the Dashboard

    View payments, create billing plans, respond to disputes, and more directly from the Stripe Dashboard—no code required.

  • iOS and Android Dashboard apps

    Track payments on the go and get notifications. Even take quick actions like issuing a refund.

  • Roles and permissions

    Tailor data access for your team to protect business-sensitive information and actions.

  • Collaboration notes

    Attach notes for your teammates on payments and refunds to give them context when they jump into the Dashboard.

Robust developer platform and third-party integrations
  • Client libraries and SDKs

    Client libraries available in every language from Ruby and .NET to Go and Swift.

  • Comprehensive testing tools

    Thoroughly test and debug your integration before going live with a test mode environment, test cards, alerting, and more.

  • Developer Dashboard

    Monitor API and webhook usage in real time, manage API upgrades, and find all our developer tools in one place.

  • 450+ platforms and extensions

    Use extensions built for the Stripe platform to automate almost every manual process.

And more

Billing

Recurring subscriptions and invoicing

Subscriptions and invoicing with auto-reconciliation and smart recovery tools.

Connect

Payments for platforms and marketplaces

Accept payments and get sellers and contractors paid in 30+ countries with a single platform. Use Standard Connect to add payments to your platform for free.

Radar

Machine learning fraud prevention, built into Stripe

Radar helps detect and block fraud for any type of business by training with hundreds of billions of data points. Included for free as part of our integrated pricing.

An IDC study shows that, on average, businesses using Stripe attribute a 6. 7% increase in revenue to the Stripe platform.

Move faster with an integrated suite

Software and infrastructure for e-commerce, recurring billing, marketplaces, and more.

Payments

A complete payments platform engineered for growth

Credit and debit cards

Integrated per-transaction pricing means no setup fees or monthly fees.

  • Visa
  • Mastercard
  • Maestro
  • American Express
  • China UnionPay
  • Apple Pay
  • Google Pay
  • Link

1.4%
+
€0.25

for European Economic Area cards

+1.1% for UK cards

International payments

Additional fees required for international cards and currency conversion.

2.9% + €0.25
for international cards
If currency conversion is required, an additional 2% fee will apply.

Learn more

Link

Stripe’s one-click checkout experience

1.2%
+
€0.25

for all European cards

Regular pricing applies for cards outside of the EU.

Settle and pay out in additional currencies

You can choose to settle and pay out in additional currencies by opting into alternative currency payouts.

Processing fees will vary based on the currency you select for settlement and pay out of your transactions.

1%

Of the payout amount, when you choose to payout in select alternative currencies.

Read more

3D Secure authentication

3D Secure is an authentication method used to verify a customer’s identity before an online card purchase.

Included

€0.03 per 3D Secure attempt for accounts with custom pricing.

Card account updater

Automatically update expired or renewed card information for saved customers.

Included

€0.25 per update for accounts with custom pricing.

Learn more

Adaptive Acceptance

Machine learning models that help increase revenue for your business by improving authorization rates in real-time.

0.08%

per successful card charge.

Learn more

Local payment methods

Support dozens of popular payment methods around the world with a single integration.

  • iDEAL
  • Bancontact
  • Sofort
  • SEPA Debit
  • giropay
  • Alipay
  • WeChat Pay
  • Klarna
  • Blik

SEPA Direct Debit
€0.35
See pricing details

Custom pricing available for companies with large payments volume, high value transactions, or unique business models.
Contact Sales

Checkout

A pre-built, hosted payments page optimized for conversion.

  • Accept one-time and recurring payments
  • 20+ payment methods, 30+ languages, 135+ currencies
  • Built-in conversion optimizations
  • Customize with your branding

Included
No Checkout-specific fees

Custom domain

Use your own domain for a seamless end-to-end experience

USD $10

per month

Learn more

Billing

Grow your recurring revenue

  • Building blocks for your business model
  • Smart recovery tools for reducing churn
  • Recurring invoices and subscriptions
  • Pre-built customer portal

0. 5%

See pricing details

Custom domain

Use your own domain for the customer portal.

$10

per month

Learn more

Invoicing

Built for speed and scale

  • Online invoices that get paid fast
  • Easy to get started with no code
  • Collect and monitor unpaid invoices
  • Automatic invoice reconciliation

0.4%

Per paid invoice

See pricing details

Connect

Standard

Partner with Stripe to add payments to your platform

  • Hosted onboarding and verification
  • International support in 30+ countries
  • Full Stripe Dashboard for sellers
  • Dynamic risk-based KYC/AML checks

Included
No platform-specific fees

Custom or Express

Multi-party payments, fully customized

  • Build branded onboarding flows
  • Platform management dashboard
  • Control payout timing and funds flows
  • Automate 1099 generation and delivery

Starting at 0. 25%
of account volume, per-account fee may apply

See pricing details

Tax

Automate tax calculation and collection on your Stripe transactions

  • Built into Stripe–no third-party integration needed
  • Registration thresholds monitoring included
  • Automatically collect tax in 30+ countries
  • Easy-to-use reporting for each filing market

0.5%

per transaction, where you’re registered to collect taxes

See pricing details

Custom pricing available for companies with large payments volume, high value transactions, or unique business models.
Contact sales.

Revenue Recognition

Simplify accrual accounting with automated revenue reporting

  • Prepare for audits by tracing revenue amounts down to customers and transactions
  • Gain a comprehensive view of all your revenue, including imported data
  • Set custom rules to fit your accounting practices
  • Helps you stay compliant with ASC 606 and IFRS 15

0. 25%

of volume

See pricing details

Radar

Radar’s machine learning

Fraud protection powered by billions of data points across the Stripe network.

  • Powerful machine learning
  • SCA logic for exemptions
  • Always adapting to new fraud patterns
  • Device fingerprinting and proxy detection

€0.05
per screened transaction
Waived for accounts with standard 1.4% + €0.25 pricing

Radar for Fraud Teams

Includes Radar’s machine learning and advanced fraud protection tools for professionals who need greater control and customizable settings.

  • Powerful machine learning
  • SCA logic for exemptions
  • Always adapting to new fraud patterns
  • Device fingerprinting and proxy detection
  • Block and allow lists
  • Rules engine to customize protection
  • Rich insights for better decisions
  • Optimized manual review flows

€0. 07
per screened transaction
€0.02 for accounts with standard 1.4% + €0.25 pricing

Chargeback Protection

Defend your business from the unpredictability of disputes. With Chargeback Protection, Stripe will cover both the disputed amount and any dispute fees—no evidence submission required.

0.4%
per transaction

Identity

Verify user identities with confidence

ID document and selfie verification

Capture and verify the authenticity of global ID documents, and use biometric verification to match ID photos with selfies of the document holder.

  • Support IDs from 33 countries
  • Biometric ID photo verification
  • Hosted verification experience
  • Access extracted data & captured images

€1. 25

per verification

Charged when a user completes verification. Learn more

ID number lookup

Allow users to key-in name, date of birth, and local government ID number. Validate against government and 3rd-party databases. Currently only available for US social security numbers.

€0.40

per lookup

Terminal

Build custom in-person payments

In-person card processing

Accept in-person payments, including credit cards, debit cards and digital wallets.

  • Unify online and offline channels
  • Scale globally with one integration
  • Customize your payment experience
  • Streamline reporting

1.4% + €0.10

per successful charge for European cards

2. 9% + €0.10

per successful charge for non-European cards

Card readers

Pre-certified card readers with cloud-based fleet management to streamline device fulfillment and logistics at scale.

Point-to-point-encryption

Access PCI-certified point-to-point-encryption (P2PE) for additional security required in certain industries. All Terminal transactions are encrypted by default.

€0.05
per authorization

Learn more

Sigma

Your business data at your fingertips

  • Instant answers powered by SQL
  • Dozens of prebuilt query templates
  • Save and schedule custom reports
  • Built into Stripe—no setup, no ETLs

Starting at €0.03
per charge, infrastructure fee may apply

See pricing details

Atlas

Turn your idea into a startup

  • Form an LLC or C Corporation in days
  • Open a U. S. bank account
  • Issue stock to C Corporation founders
  • Access to invite-only founder forums

One-time USD $500

+ ongoing costs of running a company

See pricing details

Issuing

Create, manage, and distribute virtual and physical cards

Card creation

Create and issue cards instantly and get branded physical cards shipped in just two days.

  • Branded card designs
  • Multiple shipping options
  • Issue cards through Connect
  • Push provisioning to digital wallets

€3

per physical card

Card transactions

Set custom controls for every transaction and update them at any time.

  • Flexible API to manage cards
  • Dynamic spend controls
  • Real-time authorizations
  • Enhanced transaction data

Included

for the first €500,000 in card transactions

Start today and we’ll waive card transaction fees for the first €500,000 in card transaction volume.

0.2% + €0.20 per transaction after that

Disputes

Dispute transactions on issued cards.

€15

per lost dispute

International payments

Additional fees required for international cards and currency conversion.

1% + €0.30

for non-European transactions

If you’re a business with a large transaction volume or unique business model, reach out to discuss custom economics and interchange revenue sharing. Contact Sales

Large payments volume or unique business model? 

If you’re a business with a large payments volume, high value transactions, or unique business model, reach out to discuss alternative pricing options. Our teams will review your current statements and can help design a customized pricing package.

Contact sales

How long do payouts take?

Once you’re set up, payouts arrive in your bank account on a 7-day rolling basis. Or you can opt to receive payouts weekly or monthly. Read more

How much do disputes cost?

Disputed payments (also known as chargebacks) incur a €15.00 fee. If the customer’s bank resolves the dispute in your favor, the fee is fully refunded. Read more

How do refunds work?

You can issue either partial or full refunds. There are no fees to refund a charge, but the fees from the original charge are not returned. Read more

Is there a fee to use Apple Pay or Google Pay?

There are no additional fees for using our mobile SDKs or to accept payments using consumer wallets like Apple Pay or Google Pay. Read more

Road lane width in 2023

Good afternoon, dear reader.

This article will discuss what should be the width of the highway lane in accordance with the standards.

Some drivers mistakenly believe that there is a single figure that absolutely all roads must comply with. However, in reality this is not the case. There are several factors that affect stripe sizes. It is they who will be considered today:

  • Lane width outside the city.
  • City lane width.
  • What to do with wrong size strips?

Lane width outside the city

The first regulatory document that will be considered today is GOST R 52399-2005 «Geometric elements of highways». The peculiarity of this document is that it does not apply to city streets:

This standard does not apply to the design of temporary roads for various purposes (constructed for a service life of less than 5 years), on-farm roads, city streets and winter roads.

Please note that the document refers specifically to the streets of cities, and not to settlements. The fact is that other concepts are used in the rules of the road — «in a populated area» and «outside a populated area». And here it is important not to get confused.

GOST does not apply specifically to cities. Those. for example, in a village that is a settlement, lanes must be designed exactly in accordance with this document.

Lane width, m. Such roads can be used to reach remote villages with a small number of inhabitants.
3.75 IA, IB, IV, II (with 2 lanes) IA, IB, IB — wide roads (with 4 lanes or more) having a dividing lane. These are the fastest roads in Russia.
II (with 2 lanes) — a two-lane road without a median. This is the most common type of road outside of built-up areas.
3.5 II (with 4 lanes), III II (with 4 lanes) — four-lane road with or without median.
III — a two-lane road with no railway crossings and no crossings with a tram line (only overpasses).
3 IV A two-lane road that can cross tram or rail tracks.

Moreover, a passenger car fits in such a lane without problems, because even the largest SUVs are only about 2 meters wide.

Once again I remind you that the indicated dimensions do not apply to city streets.

Lane width in the city

Lane sizes in the city are regulated by SNiP 2.07.01-89 «Urban planning. Planning and development of urban and rural settlements».

Lane width, m Road type and description
4 Pedestrian and transport main street of district significance, 2 lanes.
3.75 Expressway, 4-8 lanes.
Main street of citywide value of continuous traffic, 4-8 lanes.
3.5 Regulated main road, 2-6 lanes.
Main street of citywide importance with regulated traffic, 4-8 lanes.
Transport and pedestrian main street of district significance, 2-4 lanes.
Streets and roads of local importance in research and production and communal warehouse areas, 2-4 lanes.
Secondary roads, 1 lane.
3 Local streets and roads in residential areas, 2-3 lanes.
Local streets and roads — park roads, 2 lanes.
2.75 Main roads, 2 lanes.

Thus, the lane width in cities ( 2.75 — 4 m ) is on average less than on other roads.

What to do with wrong size strips?

Please note that sometimes there are traffic lanes on the roads, the width of which does not meet the standards. In this case, one should be guided by the road markings applied on the carriageway, and not by theoretical values. After all, in the event of an accident, the traffic police and the judge will look at the actual state of the roadway, and not at the theoretical one.

However, in some cases it makes sense to «deal» with incorrect markings on the roadway.

For example, outside the settlements, I happened to meet a traffic lane that gradually narrowed and, as a result, its width was about 1.5 meters. Naturally, cars did not fit in such a lane and they had to partially drive to the neighboring one.

If you come across something similar in practice, then the problem can be solved. And it’s not very difficult. To do this, it is enough to write an appeal to the local organization involved in the maintenance of the road. And the most difficult thing is the search for this organization, because. each region has its own name.

However, if you have any difficulties at this stage, then just write an appeal to the local administration (administration of the city, district, prefecture, etc.). In the text of the appeal, you can indicate the following:

Near the house 18 on Lenin Street in the city of Moscow, a continuous marking line has been drawn. At the same time, the width of the rightmost lane (direction — to the center) is 2.24 meters and this value does not meet the requirements of SNiP 2.07.01-89.

Please correct the organization of traffic in this section (apply new markings).

Such an appeal is a good way to correct the shortcomings of the traffic organization.

Good luck on the road!

About the author:

Maxim Kalashnikov

expert in Russian automotive legislation. For more than 11 years, he has been studying automotive regulatory documents and consulting drivers. Author of analytical articles and training courses. Project Manager SDA Master (pddmaster.ru).

About lane width — a blog about transport and life — LiveJournal

Everyone who has been to Europe has noticed how sweet and friendly, almost like a toy, their roads seem. A pedestrian near them feels like a host, not a guest, and it is not difficult to cross the road. Compare two 4-lane roads: in Eindhoven and Moscow:

The difference is not only in quality or trees. The main reason their roads look friendlier is the lane width. We consider 3.5 meters as the standard for cities, they have 3. In the former countries of the socialist camp, even in Minsk and Kyiv, there are 3-meter stripes on the central streets. And Russia, as usual, is behind the whole planet. Why is this so, if you think from the point of view of common sense, and not from GOSTs and SNIPs?

It was not possible to find a specific answer to this question, but it is quite possible that the wide lanes are the result of the sharpening of roads in the USSR for public transport and freight traffic. This has its own logic, because. A passenger car will go wherever a truck will go. But this does not take into account the reverse effect. The lane width that is comfortable for a truck is too wide for a car. What does it mean — too wide band?

A bit of theory
Transport scientists have long drawn attention to the relationship between lane width and speed. In the book «Organization of traffic» G.I. Klinkovstein and M.B. Afanasiev, the formula for calculating the optimal lane width is given:

Lane width = Design Speed ​​* 0.015 + vehicle width + 0.3.

According to the above dependence, the speed at which an average-skilled driver can drive a car for a long time and confidently is approximately: when driving a car and a lane width of 3 m, about 65 km/h, and with a lane width of 3.5 m, about 90 km/h; when driving a car with an overall width of 2.5 m and a lane width of 3.5 m, about 50 km / h.

It turns out that 3.5-meter lanes in the city with predominantly light traffic (the share of trucks in Moscow is no more than 10%, there are still the same number of trolleybuses) allow you to drive at a speed of 90 km/h, which many do on wide roads. Moreover, often this happens involuntarily, because. no sense of speed.

Please note that this formula allows you to calculate a safe corridor for long and confident driving. That is, when the driver conditionally does not notice cars in other lanes, they do not interfere with him. There is a plus in this — the driver can safely drive, watching the situation ahead, without thinking about what is happening around the edges. This is also a minus. Alertness is reduced, the driver forgets that he is driving on a road full of dangers and either involuntarily accelerates, or his brain goes into automatic mode with reduced power consumption. That is, when, suddenly, an unusual situation occurs on the road to which you need to quickly respond, the brain must first exit the automatic mode and only then begin to react, this is how we are arranged. Therefore, it is important to find a balance between confident driving and a state of light tension, in which the driver will not be bored. So the formula is good, but rather for highways than for cities where attention is required many times more.

There is another disadvantage of wide bands. 3 cars can fit on two 3.5-meter lanes (the average width of a car with mirrors is 2.10 m). We all know what this leads to: squeezing between lanes at traffic lights, dangerous overtaking along the marking strip. 3-meter strips solve this problem.

Moscow practice
Sometimes the lane width is selected solely according to the width of the carriageway. I inherited a 16-meter roadway, on which four lanes need to be made, because. there are also four of them before the crossroads — well, nothing, a lot is not a little. Let there be three at 3.75, and the right one is all that remains after the markup. And still, by this they hinted that it was possible to drive faster along this section and provoked chaotic traffic and parking. There are many such examples in Moscow, even within the Garden Ring. For example, Tsvetnoy Boulevard. He has just everything, as I wrote. Pay attention to how humiliating the width of the sidewalk is, also with lighting masts.

According to our domestic GOSTs and foreign practice, the lane width should be selected according to the preferred transport. This means that within the Third Ring Road, where trucks are prohibited from entering and the speed is limited to 60 km/h, the lane width should be 3 meters. Everywhere. If somewhere the width is not divisible by 3, then there you need not to draw wider lanes, but to give the distance remaining after marking for parking, change it from parallel to diagonal, or even widen the sidewalk. An exception can only be for public transport lanes, three meters is still not enough for buses, given our winter. Skeptics will say that trucks, sweepers, and garbage trucks sometimes drive in the center anyway. Yes, they drive, but you won’t believe it, their 2.5 meters fit into a 3-meter strip, so nothing interferes with them. Yes, they will be a little uncomfortable, those who travel nearby are likely to, too, but there are such a meager number in the center, and the inconvenience is so subtle that you can safely turn a blind eye to it. This is what they do in Europe, where there are always 3 meters in the city, regardless of how many trucks are moving.

Speaking of foreign countries. The motorized US has wide lanes. They measure everything in feet there, so the typical width is not 3.5, but 3.6 m (12 ft). However, NACTO’s latest road design guideline states that narrower lanes do not increase accidents. And for the city, with a speed limit of 65 km/h (40 mph), 3 meters for cars and 3.3 meters for trucks and buses are recommended. Other foreign studies (for those who are interested, you can search Google for Lane width research) also confirm that the change in the number of accidents after narrowing or widening the lanes is within the statistical error.

Narrowing lanes
Narrowing lanes is a tool with great potential for the city. Some renovations and extensions could have been avoided by changing the lane width.

Let’s take the same Prospect Mira where we plan to return the tram. Before cutting-killing, let’s see what’s with the banding. Wow, 42 meters! There are 5 lanes in each direction.

Let’s build a street profile:

Again lanes of 3.75 at a speed limit of 60 km/h. In the city, and even opposite residential buildings, the lanes are wider than on the Moscow Ring Road. This is fine? Let’s see what can be done. Taking into account the fact that trucks also drive along this section, we will make lanes of 3.25 m each, and dedicated lanes, on which you still cannot park, will be 3.5 meters each. You get this:

That is, just by changing the markings and moving the dividing fender, we were able to gain as much as 7 meters, which is just enough for a tram. At the same time, we increase security, because. the stripes have become narrower and you need to be more careful. The implementation costs are minimal, you can get by with local repairs, you don’t need to move the transitions. Well, isn’t it a beauty?

And how much space can be allocated for parking, for sidewalks, where they are really needed, for additional traffic lanes or accumulation lanes before intersections? It is also possible to temporarily narrow lanes in front of pedestrian crossings. It will allow the establishment of full-fledged islands of security, which, due to some misunderstanding, are still not in Moscow. At the same time, the speed of the car decreases, the distance decreases and, accordingly, the transition time. That is, at individual crossings, where the traffic light is installed only for the sake of the transition, it can be removed, because. people will need to cross two narrow lanes at a time, rather than four wide lanes. As a result, both pedestrians and drivers wait less for each other.

Not so long ago, lanes were redecorated on Altufevskoye Highway, making four lanes instead of three 3.5+3.5+5 — 3+3+3+3.5. Thus, people were returned to the strip selected for the leased line. I would like to shake hands with that brave traffic cop who was not afraid to do this, given that trucks drive along the highway. Even I wouldn’t dare. On the other hand, trucks drive around Berlin along the same 3-meter lanes, why shouldn’t they drive here? I specifically interviewed my friends who drive along Altufievka, everyone noticed that there were four lanes, but no one noticed that the lanes had become narrower. So there is no catastrophe in the narrowing of the lanes, if some do not even notice it.

Conclusions
So, what should be the lane width in Moscow? In my opinion, the alignment is as follows:
Inside the TTK — 3 meters, in especially narrow places it is possible 2.75 (even our GOSTs allow this).
On highways with a speed limit of 80 km/h — 3.5.
On highways with a speed limit of 60 km/h — 3.25.
In residential areas with ground crossings 3-3.25.
Public transport lanes — 3.5.

I am by no means saying that we should rush to redraw stripes all over Moscow. No, you just need to treat the narrowing of lanes as an effective means of obtaining a useful area for the city. And, if somewhere it is possible to redraw three lanes into four, widen the sidewalk, add lanes for cyclists, this should be done without a twinge of conscience. 3 meters is not scary. Proven by Tverskaya Street, where stripes of 3 meters have been on for more than 10 years.