Jump to content

ptprog

Members
  • Posts

    537
  • Joined

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Forums

Events

Store

Gallery

Everything posted by ptprog

  1. In my setup, the CSS resources referenced in the head are loaded in parallel with a CSS that is preloaded (editor.css), so my expectation was for the preload to not have impact. In a quick experiment, I did not see any difference in how the CSS was loaded (CSS is queued and starts a few ms after the editor.css, which is preloaded, regardless of whether all the CSS uses preload). Based on my understanding of the preload, I would not expect it to harm performance, but I also do not expect it to help. The idea of the preload is to load in advance resources that the browser would not be aware of otherwise (e.g. resources that are not referenced in the HTML directly from the beginning, like it seems to be the case of the editor.css or the fontawesome). But for the "normal" CSS, the browser will see that the resources need to be loaded at the same time without the preload.
  2. Was there any development on this? There are dozens of CKEditor files currently not being served by the CDN.
  3. When using a rule of type "Reaction is given", what is the meaning of the milestone? For example, if we set it to "It is their 10th reaction", will the rule be applied: When a specific post receives the 10th reaction? When a user receives the 10th reaction considering all posts? When a user gives the 10th reaction considering all posts? Other? In other words, is the milestone for the user giving the reaction, or for the receiving user? And do we count the reactions on a specific post, or for all posts? (I actually think all the variants should be supported, but for now I'm wondering which one is currently implemented.)
  4. Do you mean to send or to receive emails? You can use Amazon SES to send emails for any email address you own (you just have to configure your email client with Amazon SES SMTP server data). If you also want to receive email in a "normal" email client, you will need more than Amazon SES. You can use Amazon WorkMail, for example to receive emails (but there are cheaper options for receiving emails).
  5. You should use a separate service for that. Then you can use Amazon SES for sending the emails, which should be the cheapest solution you can get.
  6. Ok, so you certainly have spare memory available on you server 😄 You should try Redis. If you have some analytics solution, you should be able to monitor the evolution of the performance on your site.
  7. I haven't looked in detail about how IPS uses cache (e.g. how expensive to compute are the values cached), but with the reduced number of options we have now, and assuming you have spare memory available, I expect Redis to be a safe bet. IPS can achieve very high cache hit ratios. So, my expectation is that using cache will improve performance. Since now using cache requires using Redis for data storage, I would be surprised if any other data storage option was better. Again, I'm assuming you have spare memory in your server. Also, as @Thomas P mentioned above, using Elasticsearch for search may be a better change to start with. Out of curiosity, what is the current size of you DB?
  8. From what I can see, in recent versions you either use Redis for "Data Storage Method", or you won't be able to select any "Caching Method" (i.e. to use Redis as "Caching Method", you also need to use Redis as "Data Storage Method"). So, I guess Redis is the way to go.
  9. Regarding hosting providers, I have been using Linode for a couple of projects, and I'm happy with their service. You also have Amazon Lightsail and Vultr with similar prices. If you are going to use a VPS and manage it yourself, you can easily configure Lets Encrypt from command line. This should take less work than buying a certificate.
  10. My terminal supports UTF-8 chars, and I could see emojis on the posts that still had the emojis. But just in case this was an issue with a specific emoji, I also used the MySQL HEX function to see the hexadecimal representation of the char stored and confirmed it was a plain "?". It looks like this bug is known for 4 years: https://jira.mariadb.org/browse/MDEV-11777 (but there is no mention to it in the function documentation). Time to consider going back to MySQL...
  11. My problem is not with some browsers not showing emojis. My problem is with having a "?" char (0x3F) stored in the database instead of an emoji. Meanwhile I think I was able to trace the source of the issue based on the posts affected. I used a REGEXP_REPLACE query to remove some data from posts, and it seems the REGEXP_REPLACE does not handle some UTF-8 characters properly. Time to try to recover the data from a backup 🙂
  12. I'm indeed using the native ones. I never really looked into the difference between native and Twitter, but now I see how the Twitter ones provide more reliability. This is something I need to discuss internally, as it should prevent losses of data. I still don't think this totally explains the issue I'm seeing, though. I would expect that if somebody is able to type an emoji, then his OS should be able to send it to the server (we could have problems with quotes or C&P, but they should be uncommon).
  13. There was no move of database in the past years, and the last failure is on a post from two weeks ago. There was also no recent change on DB configs, so maybe some periodic task is causing this. I need to recover older backups to confirm this.
  14. I just noticed that I have a bunch of posts where emojis where replaced with a question mark. I already double checked the database setup, and the correct encoding seems to be used everywhere. Moreover, in a few test posts I created, emojis were created fine. Has anybody else experienced the same issue? Any idea of what is the cause?
  15. I usually put a lot of effort on website optimization, and I certainly would like to see IPS paying more attention to performance. But looking at results from other popular websites such as Youtube, Facebook or Amazon, the values are not that different. I checked a few other landing pages from Google, with mostly static content, and the results were even worse. So, I guess IPS is not that bad.
  16. If you are familiar with cache headers, you can just use Chrome developer tools (in the Network tab, you can see the headers of each, and check the expiration time, e.g. "expires: Sun, 07 Feb 2021 08:27:40 GMT" shows the cache expires in 1 month). You can also use Google Pagespeed (Serve static assets with an efficient cache policy) or www.webpagetest.org, for exemple, which provides higher-level details (as @Mopar1973Man also suggested). BTW, I'm wondering if some of those cache "issues" may be caused by Cloudflare, since the cache expiration sometimes of some images varies depending on the tool you use to test. If this is the case, maybe it's due to some online optimization made by Cloudflare, and you may not be able to fix it. I would still make sure that when you hit your server directly (bypassing Cloudflare), the resources have cache.
  17. Not sure if you already solved your issues, but it seems the initial server response time is huge (2 to 3s, whereas this value should be below 1s). Another issue you have is the cache expiration of static resources. It seems the fontawesome-webfont.woff2 has no cache expiration set at all. And the JS, CSS and images files have a cache expiration of 30 days. Since these resources use cache busters, you should be fine setting a much longer cache time (6 months, or even 1 year).
  18. I don't know IPS implementation in detail, but if you are having out of memory problems, I suspect that adding Redis (in the same server) will only make things worse, as it will be yet another service contending for memory. You probably need to review the software limits (memory, number of connections, etc.) to make some requests fail when there are spikes, instead making the entire server go down. Cloudflare should help reducing the load on the server, and maybe it will also help in case of attacks. (I terms of performance I also found Cloudfront to be better, and it would be my choice for a pure CDN, but I'm not sure if Cloudfront is comparable to Cloudflare in terms of security features.) Archiving posts will likely reduce memory pressure on DB side. I assume it will at least reduce the size of the search index, so less data that needs to be cached in memory.
  19. Do we really need to do anything about that? It would be like forbidding users to mention the other user name, which does not make sense to me. I'm not a lawyer, but I have serious doubts the GDPR gives users this right.
  20. I got the best results with the old EdgeCast (now Verizon) CDN a few years ago, using their "small objects" variant. I tried other ones, such as Cloudfront, CDN77, and Cloudflare. At the time Cloudfront was good (not as good as EdgeCast, though), but it was the most expensive, due to the number of requests that are also paid. CDN77 was not particularly good. Cloudflare (free version) was the worse. Since I moved to HTTPS, I stopped using CDNs completely (the costs were higher, and the benefits were lower, specially as my server supported HTTP2 and the CDN usually did not at the time).
  21. @Adlago if you replace the line you show with <link rel="manifest" href="{url='app=core&module=system&controller=metatags&do=manifest' seoTemplate='manifest'}" crossorigin="use-credentials"> the new connection issue is solved. (I tested this, and it solved the issue in my case.) BTW, after start using SSL and HTTP/2, my tests (using RUM) showed that the use of cookie-free domains was only slightly beneficial when I was using a CDN. Otherwise it was degrading performance, despite most of the synthetic tests (like YSlow and Webpagetest) giving better results. This was before TLS 1.3 was available. It is possible that with TLS 1.3 the results change.
  22. Regarding performance, my experiments show a small degradation of performance (15% ~ 20%, measured with a RUM script) during the period I used the preload setting.
  23. Has anybody tried to use '<link rel="preload" ...>' to load fonts? Any idea if this improves performance?
  24. That option is enabled. The problem is the primary group 🙂 Thanks!
×
×
  • Create New...