• 21-06-2023, 05:05:24
    #1
    Platin üye
    Merhaba yüksek trafik alan 4 adet API projemiz var ve şuanda 1500/s reguest kaldirabiliyor tester yaptığımız testlerde salt PHP ile yazıldı performans amacıyla database tarafları çok rahat sadece Nginx+php-fpm yoğun işlemeler yerinde önbellek vermeyi düşünüyoruz ve JSON olarak db değişliklik olunca bir dahaki reguest JSON değişmesi geremekte nasıl bir kurgu yapabilirim öneriler için çok teşekkür ederim

    *NOT
    Bol İNSERT,order by,ve if else yapısı ile oluşmakta
  • 21-06-2023, 05:20:13
    #2
    PostgreSQL tavsiye edebilirim.


  • 21-06-2023, 10:33:14
    #3
    nginx php-fpm yerine swoole http server kullanabilirsiniz. 2x-3x daha fazla request alabilirsiniz.
    db için relational db kullanmak istiyorsanız daha önce yazıldığı gibi postgresql, böyle bir zorunluluk yada tercihiniz yoksa, percona mongodb kullanabilirsiniz.
    cache için redis kullanabilirsiniz. cache için file system düşünüyorsanız, düşünmeyin. yüksek requestler file system buna yetişemez.
  • 21-06-2023, 11:48:33
    #4
    Siz Nginx + PHP ile yola devam etmek istiyorsunuz gibi görünüyor.

    Sizin için PHP'de hazır edilen JSON çıktıları bir sonraki veri güncellemeye kadar Nginx ile servis eden bir Nginx konfigürasyonu hazırladım. Böylece her hangi bir API yanıtı daha önceden önbelleklenmişse bir sonraki istekten itibaren Nginx ile sunulacaktır. Bu içerik statik olarak sunulacağı için sisteminiz daha fazla isteği karşılayabilecektir.

    Bunu sizin yapınıza uyarlamak için API adreslerinizin ne olduğunu paylaşırsanız Nginx konfigürasyonunu sizin için hazırlamam mümkündür. Ayrıca PHP ile de nasıl önbellek almanız gerektiğini de paylaşabilirim. Bunun için bir PHP fonksiyonu da hazırlayabilirim.

    Örneğin;
    /api/v1/users
    /api/posts

    ... gibi.

    Lütfen konudan herkese açık olarak paylaşım yapalım.
  • 21-06-2023, 14:11:45
    #5
    Platin üye
    aponkral adlı üyeden alıntı: mesajı görüntüle
    Siz Nginx + PHP ile yola devam etmek istiyorsunuz gibi görünüyor.

    Sizin için PHP'de hazır edilen JSON çıktıları bir sonraki veri güncellemeye kadar Nginx ile servis eden bir Nginx konfigürasyonu hazırladım. Böylece her hangi bir API yanıtı daha önceden önbelleklenmişse bir sonraki istekten itibaren Nginx ile sunulacaktır. Bu içerik statik olarak sunulacağı için sisteminiz daha fazla isteği karşılayabilecektir.

    Bunu sizin yapınıza uyarlamak için API adreslerinizin ne olduğunu paylaşırsanız Nginx konfigürasyonunu sizin için hazırlamam mümkündür. Ayrıca PHP ile de nasıl önbellek almanız gerektiğini de paylaşabilirim. Bunun için bir PHP fonksiyonu da hazırlayabilirim.

    Örneğin;
    /api/v1/users
    /api/posts

    ... gibi.

    Lütfen konudan herkese açık olarak paylaşım yapalım.
    Sub domain Olarak xxx.xx.com şeklinde ve bazılarında yönetmek amacıyla plesk panel kullanım sağlıyoruz
  • 21-06-2023, 15:22:02
    #6
    Hangi API yollarını kullanıyorsunuz?

    Örnek;
    /api/v1/status (GET)
    /api/v1/users (GET|POST|PATCH)
    /api/posts (GET|POST|DELETE)

    Nginx ve PHP'de hazırlıkları yaptım. Test ettim ve başarılı olduğunu görüyorum. Sizin sisteminize uygun olacak Nginx konfigürasyonu farklılıklar gösterebilir. Daha iyi uyumluluk için yukarıdaki örnekteki gibi API yollarınızı paylaşın ki yardımcı olabilelim. Bu arada Plesk kullanmanızın bir önemi yok.
  • 21-06-2023, 15:34:47
    #7
    Platin üye
    aponkral adlı üyeden alıntı: mesajı görüntüle
    Hangi API yollarını kullanıyorsunuz?

    Örnek;
    /api/v1/status (GET)
    /api/v1/users (GET|POST|PATCH)
    /api/posts (GET|POST|DELETE)

    Nginx ve PHP'de hazırlıkları yaptım. Test ettim ve başarılı olduğunu görüyorum. Sizin sisteminize uygun olacak Nginx konfigürasyonu farklılıklar gösterebilir. Daha iyi uyumluluk için yukarıdaki örnekteki gibi API yollarınızı paylaşın ki yardımcı olabilelim. Bu arada Plesk kullanmanızın bir önemi yok.
    API.xxxx.com/ GET
  • 21-06-2023, 16:36:07
    #8
    r e d i s