非同期に書き込むPHPコマンドはありますか(データがいつ書き込まれるかは気にせず、これは非常に低い優先度です)。
サーバーで 1,300 のドメインをホストしています。私はそれがたくさんあることを知っています。しかし、それぞれが必要とするメモリ、CPU、帯域幅はごくわずかです。ボトルネックはランダム書き込みです。ランダム書き込み (およびランダム読み取り) が多すぎます。サーバーは Linux です。
私はここで読んだ:
したがって、SYNC 読み取りと ASYNC 書き込みは、カーネルが基になる I/O 要求の順序とタイミングを最適化できるため、一般的には適切な方法です。
ほらね。ディスク IO の改善について、プレゼンテーションで多くのことを述べられていると思います。;-)
ほとんどの書き込みは単なるキャッシュ ファイルです。たまに間違っていても、何も失うことはありません。基本的に、ほとんどの読み取りと書き込みがメモリに行われるようにシステムをセットアップし、サーバーがシーケンシャルブロックでディスクにデータを書き込むようにしたいと考えています。
キャッシュとして使用できる大量のメモリがあります。Windows では、スーパーキャッシュを使用してこれを行うと、すべての読み込みが速くなります。そこの人々は、Linux にはすでにブロック キャッシングがあると言っています。まあ、ブロックキャッシングは機能しません。データが時々だけフラッシュされるように、ほとんどの書き込みが最初にメモリに送られるようにする方法をまだ研究しています。
今のところ、PHP プログラムを変更して、データを書き込むときにカーネルに「将来何度か書き込むだけです。待つことができますし、気にしないでください」と伝えるようにしたいだけです。
そのためのオプションはありますか?SSDを使用できますが、小さいです。